Task #1932
closed
Permit zero-length NameComponent
Added by Junxiao Shi about 10 years ago.
Updated over 9 years ago.
Description
Permit zero-length NameComponent.
A zero-length NameComponent doesn't have special meaning in terms of packet processing and forwarding.
The processing rule is exactly same as any other NameComponent.
Files
- Related to Bug #1763: Canonical Order section permits empty NameComponent added
- Blocks Task #1933: Permit zero-length NameComponent added
- Status changed from New to In Progress
- Status changed from In Progress to Code review
- % Done changed from 0 to 100
- Status changed from Code review to Closed
Why not use "NULL" as a special name component to indicate a particular name component is not available?
Reply to note-7:
The string "NULL", or more precisely, the binary octets 4E554C4C, is a regular NameComponent, and it differs from null.
Similarly, in C++, the char[] literal "NULL" does not equal nullptr
.
Defining 4E554C4C to have a special meaning of null has two drawbacks:
- It limits what value a regular NameComponent can take. For example, nonNegativeInterger 1314212940 and string "NULL" are not representable.
- Its place in canonical ordering is unusual. It's surprising to see "A" < null but "hello" > null.
I'm a litle bit lost now. Didn't we already allowed empty component to exist? What else needs to be done?
Also available in: Atom
PDF