Great stuff Mats!

BTW as a background; tight v loose is one of those trade offs; loose
is simpler to code and may use less CPU whereas tight uses the minimum
possible network bandwidth. Depending on your use case loose could
actually be the best choice - but its certainly the easiest to
implement - so there's no real reason why non-Java clients need to
worry too much about supporting it.

James

On 3/16/06, Mats Forslöf <[EMAIL PROTECTED]> wrote:
> Hi Hiram
>
> Thanks for the update. We have already selected the loose encoding as the 
> default encoding in the C++ client, it's good to see that we have selected 
> the same. The tight encoding is deferred to a future release since it is a 
> bit more complicated and we wanted something up and running. We're just 
> finished a architectural re-design in the C++ client that makes a lot less 
> code to maintain and a bit easy to add other protocols (see previous posts 
> regarding C++ refactoring suggestion).
>
> Will get back soon with a new patch udpate including updated groovy scripts.
>
> Regards,
> Mats
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hiram Chirino
> Sent: den 16 mars 2006 13:46
> To: activemq-dev@geronimo.apache.org
> Subject: Re: OpenWire tight/loose encoding
>
> Hi Mats!
>
> On 3/16/06, Mats Forslöf <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > We need some additional information on the OpenWire protocol to wrap up our 
> > work on the C++ AMQ client.
> >
> > 1. To use loose encoding what do we have to do, is it simply to set the 
> > tight encoding attribute to false on the OpenWireFormat package and then 
> > send each package attributes one after each other?
> >
>
> OpenWire should always start up in loose encoding mode, in version 1 of the 
> protocol, with all options off by default.  This ensures backward 
> compatibitlity since future clients will beforced to be backward compatible 
> to even start talking.  The clients then exchange a WireFormatInfo which 
> contains information about the highest version of the protocol and requested 
> protocol options that should be turned on.  After that exchange both sides 
> can upgrade the version and options to a set that is compatible between the 2 
> ends.
>
> > 2. What determines the order of the attributes on each package? The order 
> > now seems to be determined by the groovy scripts.
>
> They are in the order that they were defined in the orifinal Java command 
> classes.  The groovy script just preserves the order.
>
> >
> > 3. What about the order of the boolean flags used in tight encoding, what 
> > does each position stand for?
> >
>
> The bits in the BooleanStream are also serialized in the same order.
>
> > I must ask you of some documentation on this because we cannot verify that 
> > our code is correct otherwise.
> >
>
> Any time!  I guess we need to update the C++ guy to support loose encoding 
> since that is now the minimum requirement.  At least it's much simpler to 
> implement.  Should I work on that or have you guys allready have that covered?
>
> Regards,
> Hiram
>
> > Please help!
> >
> > Regards,
> > Mats Forslöf
> >
>
>
> --
> Regards,
> Hiram
>


--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to