On Nov 24, 2007, at 12:19 PM, Ben Hood wrote:

> Hi,
>
> The length of a list is defined as
>
> 'l' b3 b2 b2 b0
> x6e int
>
> which seems to be a bit ambiguous.
>
> Is it supposed to read:
>
> 'l' following by a 4 byte integer value

Yes.

> or
>
> 'l' following by the encoding for an int, including any compact int
> encoding, e.g.
>
> 'l' b0
> 'l' b1 b0
> 'l' b3 b2 b1 b0

No, because there's no way to tell how many bytes to read in the  
second case.

The 'l' encoding is for Hessian 1.0 compatibility.

>
> ?
>
> Does the same apply for the x6e shorthand, i.e.
>
> x6e b0
> x6e b1 b0
> x6e b3 b2 b1 b0

x6e is followed by the int production.  So a length of 0 would be

   x6e x90

Or

   x6e I(cap-i) b3 b2 b1 b0

The int production encodes the number of bytes.

Hessian 1.0 compatibilty makes the lists a bit messy.

> or is just
>
> x6e b0
>
> allowed?

That's not actually allowed, since you'd need to use encodings like  
x80-xbf.

-- Scott

>
> Thx,
>
> Ben
>
>
> _______________________________________________
> hessian-interest mailing list
> [email protected]
> http://maillist.caucho.com/mailman/listinfo/hessian-interest



_______________________________________________
hessian-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to