types+tlv: distinguish "value" and "number"
The word "value" is used only when referring to TLV-VALUE.
Otherwise, the word "number" is used instead.
refs #2880
Change-Id: Ifaa850dea02fae3cc704ecc1c31345c0326eb26a
diff --git a/tlv.rst b/tlv.rst
index daf83ee..520655e 100644
--- a/tlv.rst
+++ b/tlv.rst
@@ -1,7 +1,7 @@
Type-Length-Value (TLV) Encoding
--------------------------------
-Each NDN packet is encoded in a Type-Length-Value (TLV) format. NDN Interest and Data packets are distinguished by the type value in the first and outmost TLV\ :sub:`0`\ .
+Each NDN packet is encoded in a Type-Length-Value (TLV) format. NDN Interest and Data packets are distinguished by the type number in the first and outmost TLV\ :sub:`0`\ .
An NDN packet is mainly a collection of TLVs inside TLV\ :sub:`0`\ . Some TLVs may contain sub-TLVs, and each sub-TLV may also be further nested. A guiding design principle is to keep the order of TLV\ :sub:`i`\ s deterministic, and keep the level of nesting as small as possible to minimize both processing overhead and chances for errors.
@@ -23,7 +23,7 @@
VAR-NUMBER := BYTE+
-The first octet of the number either carries the actual numeric value, or signals that a multi-octet encoding is present, as defined below:
+The first octet of the number either carries the actual number, or signals that a multi-octet encoding is present, as defined below:
- if the first octet is < 253, the number is encoded in that octet;
@@ -37,42 +37,42 @@
following 8 octets, in net byte-order.
-One-octet value::
+One-octet number::
0 1 2 3 4 5 6 7
- +---------------+
- | < 253 = VALUE |
- +---------------+
+ +----------------+
+ | < 253 = NUMBER |
+ +----------------+
-Two-octet value::
+Two-octet number::
1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+---------------+---------------+---------------+
- | 253 | VALUE (MSB) VALUE (LSB) |
+ | 253 | NUMBER (MSB) NUMBER (LSB) |
+---------------+---------------+---------------+
-Four-octet value::
+Four-octet number::
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+----------------+--------------+
- | 254 | VALUE (MSB) /
+ | 254 | NUMBER (MSB) /
+---------------+---------------+----------------+--------------+
- | VALUE (LSB) |
+ | NUMBER (LSB) |
+---------------+
-Eight-octet value::
+Eight-octet number::
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+----------------+--------------+
- | 255 | VALUE (MSB) /
+ | 255 | NUMBER (MSB) /
+---------------+ +
| /
+ +---------------+----------------+--------------+
- | VALUE (LSB) |
+ | NUMBER (LSB) |
+---------------+
@@ -92,7 +92,7 @@
TLV-TYPE SHOULD be unique at all nested levels.
The TLV Type number space and initial assignments listed in Section :ref:`types` of this document.
-The ``TLV-LENGTH`` value represents number of bytes that ``TLV-VALUE`` uses.
+The ``TLV-LENGTH`` field indicates number of bytes that ``TLV-VALUE`` uses.
It **does not** include number of bytes that ``TLV-TYPE`` and ``TLV-LENGTH`` fields themselves occupy.
In particular, empty payload TLV will carry ``TLV-LENGTH`` equal to 0.
@@ -106,7 +106,7 @@
nonNegativeInteger ::= BYTE+
-Length value of the TLV element MUST be either 1, 2, 4, or 8.
+TLV-LENGTH of the TLV element MUST be either 1, 2, 4, or 8.
Depending on the length value, a nonNegativeInteger is encoded as follows:
- if the length is 1 (i.e. the value length is 1 octet), the nonNegativeInteger is encoded in one octet;
diff --git a/types.rst b/types.rst
index a63926f..c6be8ff 100644
--- a/types.rst
+++ b/types.rst
@@ -1,86 +1,86 @@
.. _types:
-Type value assignment
----------------------
+TLV-TYPE number assignment
+--------------------------
-+---------------------------------------------+-------------------+----------------+
-| Type | Assigned value | Assigned value |
-| | (decimal) | (hexadecimal) |
-+=============================================+===================+================+
++---------------------------------------------+------------------+-----------------+
+| Type | Assigned number | Assigned number |
+| | (decimal) | (hexadecimal) |
++=============================================+==================+=================+
| **Packet types** |
-+---------------------------------------------+-------------------+----------------+
-| Interest | 5 | 0x05 |
-+---------------------------------------------+-------------------+----------------+
-| Data | 6 | 0x06 |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| Interest | 5 | 0x05 |
++---------------------------------------------+------------------+-----------------+
+| Data | 6 | 0x06 |
++---------------------------------------------+------------------+-----------------+
| **Common fields** |
-+---------------------------------------------+-------------------+----------------+
-| Name | 7 | 0x07 |
-+---------------------------------------------+-------------------+----------------+
-| NameComponent | 8 | 0x08 |
-+---------------------------------------------+-------------------+----------------+
-| ImplicitSha256DigestComponent | 1 | 0x01 |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| Name | 7 | 0x07 |
++---------------------------------------------+------------------+-----------------+
+| NameComponent | 8 | 0x08 |
++---------------------------------------------+------------------+-----------------+
+| ImplicitSha256DigestComponent | 1 | 0x01 |
++---------------------------------------------+------------------+-----------------+
| **Interest packet** |
-+---------------------------------------------+-------------------+----------------+
-| Selectors | 9 | 0x09 |
-+---------------------------------------------+-------------------+----------------+
-| Nonce | 10 | 0x0a |
-+---------------------------------------------+-------------------+----------------+
-| InterestLifetime | 12 | 0x0c |
-+---------------------------------------------+-------------------+----------------+
-| ForwardingHint | 30 | 0x1e |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| Selectors | 9 | 0x09 |
++---------------------------------------------+------------------+-----------------+
+| Nonce | 10 | 0x0a |
++---------------------------------------------+------------------+-----------------+
+| InterestLifetime | 12 | 0x0c |
++---------------------------------------------+------------------+-----------------+
+| ForwardingHint | 30 | 0x1e |
++---------------------------------------------+------------------+-----------------+
| **Interest/Selectors** |
-+---------------------------------------------+-------------------+----------------+
-| MinSuffixComponents | 13 | 0x0d |
-+---------------------------------------------+-------------------+----------------+
-| MaxSuffixComponents | 14 | 0x0e |
-+---------------------------------------------+-------------------+----------------+
-| PublisherPublicKeyLocator | 15 | 0x0f |
-+---------------------------------------------+-------------------+----------------+
-| Exclude | 16 | 0x10 |
-+---------------------------------------------+-------------------+----------------+
-| ChildSelector | 17 | 0x11 |
-+---------------------------------------------+-------------------+----------------+
-| MustBeFresh | 18 | 0x12 |
-+---------------------------------------------+-------------------+----------------+
-| Any | 19 | 0x13 |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| MinSuffixComponents | 13 | 0x0d |
++---------------------------------------------+------------------+-----------------+
+| MaxSuffixComponents | 14 | 0x0e |
++---------------------------------------------+------------------+-----------------+
+| PublisherPublicKeyLocator | 15 | 0x0f |
++---------------------------------------------+------------------+-----------------+
+| Exclude | 16 | 0x10 |
++---------------------------------------------+------------------+-----------------+
+| ChildSelector | 17 | 0x11 |
++---------------------------------------------+------------------+-----------------+
+| MustBeFresh | 18 | 0x12 |
++---------------------------------------------+------------------+-----------------+
+| Any | 19 | 0x13 |
++---------------------------------------------+------------------+-----------------+
| **Data packet** |
-+---------------------------------------------+-------------------+----------------+
-| MetaInfo | 20 | 0x14 |
-+---------------------------------------------+-------------------+----------------+
-| Content | 21 | 0x15 |
-+---------------------------------------------+-------------------+----------------+
-| SignatureInfo | 22 | 0x16 |
-+---------------------------------------------+-------------------+----------------+
-| SignatureValue | 23 | 0x17 |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| MetaInfo | 20 | 0x14 |
++---------------------------------------------+------------------+-----------------+
+| Content | 21 | 0x15 |
++---------------------------------------------+------------------+-----------------+
+| SignatureInfo | 22 | 0x16 |
++---------------------------------------------+------------------+-----------------+
+| SignatureValue | 23 | 0x17 |
++---------------------------------------------+------------------+-----------------+
| **Data/MetaInfo** |
-+---------------------------------------------+-------------------+----------------+
-| ContentType | 24 | 0x18 |
-+---------------------------------------------+-------------------+----------------+
-| FreshnessPeriod | 25 | 0x19 |
-+---------------------------------------------+-------------------+----------------+
-| FinalBlockId | 26 | 0x1a |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| ContentType | 24 | 0x18 |
++---------------------------------------------+------------------+-----------------+
+| FreshnessPeriod | 25 | 0x19 |
++---------------------------------------------+------------------+-----------------+
+| FinalBlockId | 26 | 0x1a |
++---------------------------------------------+------------------+-----------------+
| **Data/Signature** |
-+---------------------------------------------+-------------------+----------------+
-| SignatureType | 27 | 0x1b |
-+---------------------------------------------+-------------------+----------------+
-| KeyLocator | 28 | 0x1c |
-+---------------------------------------------+-------------------+----------------+
-| KeyDigest | 29 | 0x1d |
-+---------------------------------------------+-------------------+----------------+
++---------------------------------------------+------------------+-----------------+
+| SignatureType | 27 | 0x1b |
++---------------------------------------------+------------------+-----------------+
+| KeyLocator | 28 | 0x1c |
++---------------------------------------------+------------------+-----------------+
+| KeyDigest | 29 | 0x1d |
++---------------------------------------------+------------------+-----------------+
.. _type reservations:
-Type value reservations
-~~~~~~~~~~~~~~~~~~~~~~~
+TLV-TYPE number reservations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+----------------+-----------------------------------------------------------+
-| Values | Designation |
+| Number range | Designation |
+================+===========================================================+
| 0, 2-4, 31-79 | Reserved for future assignments (1-byte encoding) |
+----------------+-----------------------------------------------------------+
@@ -103,4 +103,4 @@
| >32767 | For application use (3+-byte encoding) |
+----------------+-----------------------------------------------------------+
-.. _NDNLP: http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2
+.. _NDNLP: https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2