You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Specification uses range of 256 CBOR tags, a very large interval, together with scheme when this range is not enough and "varint" is needed. However, there is not clear from the spec neither if such complex scheme is justified nor what exactly "varint" is (so at the very minimum this is what should be fixed). Moreover, spec lacks any examples at all, either in CBOR diagnostic notation and/or binary (hex) representation.
For example, it is not clear if map tagged with that tag range appears once per document or multiple times. But in either case, allocating a whole 256 tags in 2-byte range from IANA is not justified:
if it's once, then only ONE tag is enough, always tagging array whose first member is exact Varint or even just CBOR integer - it's compact enough.
if it may be used multiple times, then for 3 bytes of tag another 2 bytes, for array start and bytestring start (also, why string? integer 0-23 could be more compact here), are waste, before actual value continuation starts. Observe that CBOR value can have MULTIPLE tags prepended to it, so here possibilities are:
combine several tags of same range, just multiplying their values
or better, use already registered "alternatives" CBOR tag set, which, for large values with array[uint, any] has shorter tag 101, for six values 1 byte of tag and for 127 values already registered range 1280-1400. This tag definition perfectly fits with CBOR-LD use, and requires registering just one top-container tag inside which spec says "alternatives are to be interpreted as Registry Id".
In any case, I will vote against allocating such a wasteful range of tags.
The text was updated successfully, but these errors were encountered:
Specification uses range of 256 CBOR tags, a very large interval, together with scheme when this range is not enough and "varint" is needed. However, there is not clear from the spec neither if such complex scheme is justified nor what exactly "varint" is (so at the very minimum this is what should be fixed). Moreover, spec lacks any examples at all, either in CBOR diagnostic notation and/or binary (hex) representation.
For example, it is not clear if map tagged with that tag range appears once per document or multiple times. But in either case, allocating a whole 256 tags in 2-byte range from IANA is not justified:
array[uint, any]
has shorter tag 101, for six values 1 byte of tag and for 127 values already registered range 1280-1400. This tag definition perfectly fits with CBOR-LD use, and requires registering just one top-container tag inside which spec says "alternatives are to be interpreted as Registry Id".In any case, I will vote against allocating such a wasteful range of tags.
The text was updated successfully, but these errors were encountered: