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
> hessian-interest-p4ZHcaHNc0TQT0dZR+AlfA@xxxxxxxxxxxxxxxx
> http://maillist.caucho.com/mailman/listinfo/hessian-interest
|
|