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