You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/12/28 21:22:40 UTC

svn commit: r490783 - /incubator/activemq/site/openwire.html

Author: chirino
Date: Thu Dec 28 12:22:39 2006
New Revision: 490783

URL: http://svn.apache.org/viewvc?view=rev&rev=490783
Log:
Latest export from confluence

Modified:
    incubator/activemq/site/openwire.html

Modified: incubator/activemq/site/openwire.html
URL: http://svn.apache.org/viewvc/incubator/activemq/site/openwire.html?view=diff&rev=490783&r1=490782&r2=490783
==============================================================================
--- incubator/activemq/site/openwire.html (original)
+++ incubator/activemq/site/openwire.html Thu Dec 28 12:22:39 2006
@@ -311,11 +311,14 @@
 <P>Every command is encoded as follows:</P>
 
 <DIV class="code"><DIV class="codeContent">
-<PRE class="code-java">0        4        5                          size+4
-+--------+--------+--------------------------+
-| size   | type   | command-specific-content |
-+--------+--------+--------------------------+
- 4 bytes | 1 <SPAN class="code-object">byte</SPAN> | (size-1) bytes</PRE>
+<PRE class="code-java">[=If SizePrefixDisabled =] 
+[ option is not enabled. ]
+[ +---------+            ] +--------+--------------------------+
+[ | size    |            ] | type   | command-specific-content |
+[ +---------+            ] +--------+--------------------------+
+[ | 4 bytes |            ] | 1 <SPAN class="code-object">byte</SPAN> | (size-1) bytes           |
+[ +---------+            ] +--------+--------------------------+
+[========================]</PRE>
 </DIV></DIV>
 
 <TABLE class="confluenceTable"><TBODY>
@@ -339,18 +342,7 @@
 
 <P>If a command type does not have any command specific content, then size would be 1.</P>
 
-<H5><A name="OpenWire-TheSizePrefixDisabledEncodingOption"></A>The SizePrefixDisabled Encoding Option</H5>
-
-<P>Prefixing the size on every command is done to aid in non-blocking IO processing so that receiver can easily determine when a whole command has been received and can be processed.  But finding out the size of command takes additional buffering on the sender size and is not needed if the receiver is doing blocking IO. If the SizePrefixDisabled option is enabled after the exchange of WireFormatInfo packets, then every subsequent command will be encoded as follows:</P>
-
-<DIV class="code"><DIV class="codeContent">
-<PRE class="code-java">0       1                          n
-+-------+--------------------------+
-| type  | command-specific-content |
-+-------+--------------------------+
- 1 <SPAN class="code-object">byte</SPAN> | size depends on content</PRE>
-</DIV></DIV>
-
+<P>Prefixing the size on every command is done to aid in non-blocking IO processing so that receiver can easily determine when a whole command has been received and can be processed.  But finding out the size of command takes additional buffering on the sender size and is not needed if the receiver is doing blocking IO. If the SizePrefixDisabled option is enabled after the exchange of WireFormatInfo packets, then every subsequent command will not have the size prefixed.</P>
 
 <H4><A name="OpenWire-CommandFieldEncoding"></A>Command Field Encoding</H4>
 
@@ -414,11 +406,14 @@
 If it is not null, then it encodes to:</P>
 
 <DIV class="code"><DIV class="codeContent">
-<PRE class="code-java">0       1         3                n
-+-------+---------+----------------+
-| 1     | size    | encoded-string |
-+-------+---------+----------------+
- 1 <SPAN class="code-object">byte</SPAN> | 2 bytes | size bytes</PRE>
+<PRE class="code-java"><SPAN class="code-object">String</SPAN> Encoding:
+             [=If not-<SPAN class="code-keyword">null</SPAN> is 1=============]
++----------+ [ +---------+----------------+ ]
+| not-<SPAN class="code-keyword">null</SPAN> | [ | size    | encoded-string | ]
++----------+ [ +---------+----------------+ ]
+| 1 <SPAN class="code-object">byte</SPAN>   | [ | 2 bytes | size bytes     | ]
++----------+ [ +---------+----------------+ ]
+             [==============================]</PRE>
 </DIV></DIV>
 
 <TABLE class="confluenceTable"><TBODY>
@@ -427,6 +422,10 @@
 <TH class="confluenceTh"> Description </TH>
 </TR>
 <TR>
+<TD class="confluenceTd"> not-null </TD>
+<TD class="confluenceTd"> 1 if the string is not null, 0 if the string is null </TD>
+</TR>
+<TR>
 <TD class="confluenceTd"> size </TD>
 <TD class="confluenceTd"> The number of bytes of the UTF-8 Encoded string </TD>
 </TR>
@@ -442,15 +441,62 @@
 
 
 <DIV class="code"><DIV class="codeContent">
-<PRE class="code-java">[ If is-<SPAN class="code-keyword">null</SPAN> == 1 -----------------------------------------------------------------------------]
-            [                               [ If StackTraceEnabled encoding option is enabled.-----------] ]
-            [                               [             [-- Repeated size times ---------------------] ] ]
-+---------+ [ +----------------+---------+  [ +---------+ [ +--------+--------+--------+-------------+ ] ] ]
-| is-<SPAN class="code-keyword">null</SPAN> | [ | exception-name | message |  [ | size    | [ | class  | method | file   | line number | ] ] ]
-+---------+ [ +----------------+---------+  [ +---------+ [ +--------+--------+--------+-------------+ ] ] ]
-| 1 <SPAN class="code-object">byte</SPAN>  | [ | string         | string  |  [ | 2 bytes | [ | string | string | string | 4 bytes     | ] ] ]</PRE>
+<PRE class="code-java">Throwable Encoding:
+             [=If not-<SPAN class="code-keyword">null</SPAN> is 1=============================================================================]
+             [                               [=If StackTraceEnabled option is enabled.====================] ]
+             [                               [             [=Repeated size times========================] ] ]
++----------+ [ +----------------+---------+  [ +---------+ [ +--------+--------+--------+-------------+ ] ] ]
+| not-<SPAN class="code-keyword">null</SPAN> | [ | exception-name | message |  [ | size    | [ | class  | method | file   | line-number | ] ] ]
++----------+ [ +----------------+---------+  [ +---------+ [ +--------+--------+--------+-------------+ ] ] ]
+| 1 <SPAN class="code-object">byte</SPAN>   | [ | string         | string  |  [ | 2 bytes | [ | string | string | string | 4 bytes     | ] ] ]
++----------+ [ +----------------+---------+  [ +---------+ [ +--------+--------+--------+-------------+ ] ] ]
+             [                               [             [============================================] ] ]
+             [                               [============================================================] ]
+             [==============================================================================================]</PRE>
 </DIV></DIV>
 
+<TABLE class="confluenceTable"><TBODY>
+<TR>
+<TH class="confluenceTh"> Field </TH>
+<TH class="confluenceTh"> Description </TH>
+</TR>
+<TR>
+<TD class="confluenceTd"> not-null </TD>
+<TD class="confluenceTd"> 1 if the Throwable not null, 0 if the Throwable is null </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> exception-name</TD>
+<TD class="confluenceTd"> The class name of the exception </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> message </TD>
+<TD class="confluenceTd"> The exception message </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> size </TD>
+<TD class="confluenceTd"> The number of stack frames in the stack trace </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> class </TD>
+<TD class="confluenceTd"> The name of the class in a stack frame </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> method </TD>
+<TD class="confluenceTd"> The name of the method in a stack frame </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> file   </TD>
+<TD class="confluenceTd"> The name of the file in a stack frame </TD>
+</TR>
+<TR>
+<TD class="confluenceTd"> line-number </TD>
+<TD class="confluenceTd"> The line number in a stack frame </TD>
+</TR>
+</TBODY></TABLE>
+
+<P>If the StackTraceEnabled encoding option is enabled after the exchange of WireFormatInfo packets, then every Throwable filed will have stack trace data appended to it.</P>
+
+
 <H5><A name="OpenWire-TightEncoding"></A>Tight Encoding</H5>
 
 
@@ -466,7 +512,7 @@
     <DIV id="site-footer">
           Added by     <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=jstrachan">James Strachan</A>,
     last edited by     <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=chirino">Hiram Chirino</A> on Dec 29, 2006
-                  &nbsp;(<A href="http://goopen.org/confluence/pages/diffpages.action?pageId=101&originalId=15216">view change</A>)
+                  &nbsp;(<A href="http://goopen.org/confluence/pages/diffpages.action?pageId=101&originalId=15218">view change</A>)
               
       (<A href="http://goopen.org/confluence/pages/editpage.action?pageId=101">edit page</A>)
     </DIV>