At Thu, 12 Jun 2008 22:20:36 -0800,
Michael Chen wrote:
> 
> Cullen,
> 
> By comparing to reload-03, I realize that the notation "opaque   
> name<0..2^8-1>" simply means a variable length of bytes with NO leading 
> length byte, contrary to what I suggested in my last post. Then in 
> Reload-04,

I'm not sure why you're comparing to reload-03. The diagrams in
reload-03 were generated mechanically from a syntax like that
in reload-04, but there may have been bugs in the translator,
and there have been some changes to accomodate problems we
found. Better to read reload-04 de novo.

Anyway:

   opaque foo<0..2^8-1>;

means variable length *with* a leading length with a length byte.
This is explained in S 6.2.1.1:

   A ResourceId, shown below, represents a single resource-id.


              typedef opaque       ResourceId<0..2^8-1>;


   Like a NodeId, a resource-id is an opaque string of bytes, but unlike
   Node-IDs, resource-ids are variable length, up to 255 bytes (2048
   bits) in length.  On the wire, each ResourceId is preceded by a
   single length byte (allowing lengths up to 255).  Thus, the 3-byte
   value "Foo" would be encoded as:  03 46 4f 4f.


> 4. Either the "name<0..2^8-1>" notation is ambiguous about whether such 
> leading length exist; or

It's not ambiguous. It always exists.


-Ekr
_______________________________________________
P2PSIP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/p2psip

Reply via email to