|
enum | : uint32_t {
Invalid = 0,
Interest = 5,
Data = 6,
Name = 7,
GenericNameComponent = 8,
ImplicitSha256DigestComponent = 1,
ParametersSha256DigestComponent = 2,
CanBePrefix = 33,
MustBeFresh = 18,
ForwardingHint = 30,
Nonce = 10,
InterestLifetime = 12,
HopLimit = 34,
ApplicationParameters = 36,
MetaInfo = 20,
Content = 21,
SignatureInfo = 22,
SignatureValue = 23,
ContentType = 24,
FreshnessPeriod = 25,
FinalBlockId = 26,
SignatureType = 27,
KeyLocator = 28,
KeyDigest = 29,
LinkDelegation = 31,
LinkPreference = 30,
NameComponentMin = 1,
NameComponentMax = 65535,
AppPrivateBlock1 = 128,
AppPrivateBlock2 = 32767
} |
| TLV-TYPE numbers defined in NDN Packet Format v0.3. More...
|
|
enum | : uint32_t {
Selectors = 9,
MinSuffixComponents = 13,
MaxSuffixComponents = 14,
PublisherPublicKeyLocator = 15,
Exclude = 16,
ChildSelector = 17,
Any = 19
} |
| TLV-TYPE numbers defined in NDN Packet Format v0.2 but not in v0.3. More...
|
|
enum | : uint32_t {
KeywordNameComponent = 32,
SegmentNameComponent = 33,
ByteOffsetNameComponent = 34,
VersionNameComponent = 35,
TimestampNameComponent = 36,
SequenceNumNameComponent = 37
} |
| TLV-TYPE numbers for typed name components. More...
|
|
enum | SignatureTypeValue : uint16_t { DigestSha256 = 0,
SignatureSha256WithRsa = 1,
SignatureSha256WithEcdsa = 3,
SignatureHmacWithSha256 = 4
} |
| SignatureType values. More...
|
|
enum | {
ValidityPeriod = 253,
NotBefore = 254,
NotAfter = 255,
AdditionalDescription = 258,
DescriptionEntry = 512,
DescriptionKey = 513,
DescriptionValue = 514
} |
| TLV-TYPE numbers for SignatureInfo features. More...
|
|
enum | ContentTypeValue : uint32_t {
ContentType_Blob = 0,
ContentType_Link = 1,
ContentType_Key = 2,
ContentType_Nack = 3,
ContentType_Manifest = 4,
ContentType_PrefixAnn = 5,
ContentType_Flic = 1024
} |
| ContentType values. More...
|
|
|
std::ostream & | operator<< (std::ostream &os, SignatureTypeValue st) |
|
std::ostream & | operator<< (std::ostream &os, ContentTypeValue ct) |
|
constexpr bool | isCriticalType (uint32_t type) |
| Determine whether a TLV-TYPE is "critical" for evolvability purpose. More...
|
|
template<typename Iterator > |
NDN_CXX_NODISCARD bool | readVarNumber (Iterator &begin, Iterator end, uint64_t &number) noexcept |
| Read VAR-NUMBER in NDN-TLV encoding. More...
|
|
template<typename Iterator > |
NDN_CXX_NODISCARD bool | readType (Iterator &begin, Iterator end, uint32_t &type) noexcept |
| Read TLV-TYPE. More...
|
|
template<typename Iterator > |
uint64_t | readVarNumber (Iterator &begin, Iterator end) |
| Read VAR-NUMBER in NDN-TLV encoding. More...
|
|
template<typename Iterator > |
uint32_t | readType (Iterator &begin, Iterator end) |
| Read TLV-TYPE. More...
|
|
constexpr size_t | sizeOfVarNumber (uint64_t number) noexcept |
| Get the number of bytes necessary to hold the value of number encoded as VAR-NUMBER. More...
|
|
size_t | writeVarNumber (std::ostream &os, uint64_t number) |
| Write VAR-NUMBER to the specified stream. More...
|
|
template<typename Iterator > |
uint64_t | readNonNegativeInteger (size_t size, Iterator &begin, Iterator end) |
| Read nonNegativeInteger in NDN-TLV encoding. More...
|
|
constexpr size_t | sizeOfNonNegativeInteger (uint64_t integer) noexcept |
| Get the number of bytes necessary to hold the value of integer encoded as nonNegativeInteger. More...
|
|
size_t | writeNonNegativeInteger (std::ostream &os, uint64_t integer) |
| Write nonNegativeInteger to the specified stream. More...
|
|
template<typename Iterator > |
bool | readVarNumber (Iterator &begin, Iterator end, uint64_t &number) noexcept |
| Read VAR-NUMBER in NDN-TLV encoding. More...
|
|
template<typename Iterator > |
bool | readType (Iterator &begin, Iterator end, uint32_t &type) noexcept |
| Read TLV-TYPE. More...
|
|
Namespace defining NDN Packet Format related constants and procedures.
template<typename Iterator >
NDN_CXX_NODISCARD bool ndn::tlv::readVarNumber |
( |
Iterator & |
begin, |
|
|
Iterator |
end, |
|
|
uint64_t & |
number |
|
) |
| |
|
noexcept |
template<typename Iterator >
uint64_t ndn::tlv::readNonNegativeInteger |
( |
size_t |
size, |
|
|
Iterator & |
begin, |
|
|
Iterator |
end |
|
) |
| |
Read nonNegativeInteger in NDN-TLV encoding.
- Template Parameters
-
Iterator | an iterator or pointer that dereferences to uint8_t or compatible type |
- Parameters
-
[in] | size | size of the nonNegativeInteger |
[in,out] | begin | Begin of the buffer, will be incremented to point to the first byte after the read nonNegativeInteger |
[in] | end | End of the buffer |
- Exceptions
-
- Note
- How many bytes to read is directly controlled by
size
, which can be either 1, 2, 4, or 8. If size
differs from std::distance(begin, end)
, tlv::Error exception will be thrown.
Definition at line 486 of file tlv.hpp.
References NDN_THROW, and ndn::to_string().
Referenced by ndn::encoding::readNonNegativeInteger(), and ndn::name::Component::toNumberWithMarker().
template<typename Iterator >
bool ndn::tlv::readVarNumber |
( |
Iterator & |
begin, |
|
|
Iterator |
end, |
|
|
uint64_t & |
number |
|
) |
| |
|
noexcept |
template<typename Iterator >
bool ndn::tlv::readType |
( |
Iterator & |
begin, |
|
|
Iterator |
end, |
|
|
uint32_t & |
type |
|
) |
| |
|
noexcept |
Read TLV-TYPE.
- Template Parameters
-
Iterator | an iterator or pointer that dereferences to uint8_t or compatible type |
- Parameters
-
[in,out] | begin | Begin of the buffer, will be incremented to point to the first byte after the read TLV-TYPE |
[in] | end | End of the buffer |
[out] | type | Read TLV-TYPE |
- Returns
- true if TLV-TYPE was successfully read from input, false otherwise
- Note
- This function is largely equivalent to readVarNumber(), except that it returns false if the TLV-TYPE is zero or larger than 2^32-1 (maximum allowed by the packet format).
Definition at line 408 of file tlv.hpp.
References Invalid, and readVarNumber().
Referenced by ndn::Block::Block(), ndn::Block::fromBuffer(), ndn::Block::fromStream(), and ndn::Block::parse().