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 22:37:34 UTC

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

Author: chirino
Date: Thu Dec 28 13:37:34 2006
New Revision: 490835

URL: http://svn.apache.org/viewvc?view=rev&rev=490835
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=490835&r1=490834&r2=490835
==============================================================================
--- incubator/activemq/site/openwire.html (original)
+++ incubator/activemq/site/openwire.html Thu Dec 28 13:37:34 2006
@@ -691,11 +691,7 @@
 
 <P>Notice that OpenWire commands can nest other OpenWire commands in it&apos;s fields.  Care must be taken that only acyclic graphs of commands are marshaled.</P>
 
-<H5><A name="OpenWire-LooseEncoding"></A>Loose Encoding</H5>
-
-<P>The fields of a command use &quot;loose encoding&quot; by default which encode an object field to a marshaled field of the equivalent size.  Loose encoding is simple to implement does not add much CPU overhead to the marshaling/unmarshaling process.</P>
-
-<H6><A name="OpenWire-StringTypeEncoding"></A>String Type Encoding</H6>
+<H5><A name="OpenWire-StringTypeEncoding"></A>String Type Encoding</H5>
 
 <P>Strings fields may be null. If it is null then it encodes to a single &quot;0&quot; byte.</P>
 
@@ -764,7 +760,7 @@
 </TBODY></TABLE>
 
 
-<H6><A name="OpenWire-NSizedByteArrayTypeEncoding"></A>N Sized Byte Array Type Encoding</H6>
+<H5><A name="OpenWire-NSizedByteArrayTypeEncoding"></A>N Sized Byte Array Type Encoding</H5>
 
 <P>Fixed Size Byte array fields may NOT be null and their length must be N length.  Used for byte arrays that are always a fixed size.</P>
 <DIV class="code"><DIV class="codeContent">
@@ -787,7 +783,7 @@
 </TR>
 </TBODY></TABLE>
 
-<H6><A name="OpenWire-ThrowableTypeEncoding"></A>Throwable Type Encoding</H6>
+<H5><A name="OpenWire-ThrowableTypeEncoding"></A>Throwable Type Encoding</H5>
 
 <P>Throwable fields may be null. If it is null then it encodes to a single &quot;0&quot; byte.</P>
 
@@ -848,7 +844,7 @@
 
 <P>If the StackTraceEnabled encoding option is enabled after the exchange of WIREFORMAT_INFO packets, then every Throwable filed will have stack trace data appended to it.</P>
 
-<H6><A name="OpenWire-NestedCommandTypeEncoding"></A>Nested Command Type Encoding</H6>
+<H5><A name="OpenWire-NestedCommandTypeEncoding"></A>Nested Command Type Encoding</H5>
 
 <P>Nested command fields may be null. If it is null then it encodes to a single &quot;0&quot; byte.</P>
 
@@ -882,7 +878,7 @@
 </TR>
 </TBODY></TABLE>
 
-<H6><A name="OpenWire-CachedNestedCommandTypeEncoding"></A>Cached Nested Command Type Encoding</H6>
+<H5><A name="OpenWire-CachedNestedCommandTypeEncoding"></A>Cached Nested Command Type Encoding</H5>
 
 <P>Nested Command types can be cached so that subsequent marshaling operations of the same object result in a smaller on the wire size.  By default the CacheEnabled option is not enabled and therefore standard nested-object encoding is used.</P>
 
@@ -924,7 +920,16 @@
 <TD class="confluenceTd"> command-specific-fields</TD>
 <TD class="confluenceTd"> The data for the command. It is encoding depends on the type used </TD>
 </TR>
-</TBODY></TABLE></DIV>
+</TBODY></TABLE>
+
+<H4><A name="OpenWire-LooseEncoding"></A>Loose Encoding</H4>
+
+<P>The default encoding explained so far is called &quot;loose encoding&quot; and is the default encoding used when OpenWire if first initialized.  Loose encoding is simple to implement does not add much CPU overhead to the marshaling/unmarshaling process.  It is able to marshal an object graph in single pass of the object tree.</P>
+
+<H4><A name="OpenWire-TightEncoding"></A>Tight Encoding</H4>
+
+<P>Another encoding option is supported by OpenWire which is called TightEncoding.  When tight encoding is used, it uses bit streams to marshal all the boolean values that would have taken up a byte in loose encoding to a bit in the bit stream.  To build the bit stream 2 passes through the object graph are taken so this is more CPU intensive marshaling process but it produces a smaller on the wire size.</P>
+</DIV>
           
                   </DIV>
         </TD>
@@ -935,7 +940,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=15221">view change</A>)
+                  &nbsp;(<A href="http://goopen.org/confluence/pages/diffpages.action?pageId=101&originalId=15223">view change</A>)
               
       (<A href="http://goopen.org/confluence/pages/editpage.action?pageId=101">edit page</A>)
     </DIV>