Helper to encode CCNb blocks. More...
#include <wire-ccnb.h>
Static Public Member Functions | |
| static size_t | AppendBlockHeader (Buffer::Iterator &start, size_t value, uint32_t block_type) |
| Append CCNB block header. More... | |
| static size_t | EstimateBlockHeader (size_t value) |
| Estimate size of the CCNB block header. More... | |
| static size_t | AppendNumber (Buffer::Iterator &start, uint32_t number) |
| Add number in CCNB encoding. More... | |
| static size_t | EstimateNumber (uint32_t number) |
| Estimate size of the number in CCNB encoding. More... | |
| static size_t | AppendCloser (Buffer::Iterator &start) |
| Append CCNB closer tag (estimated size is 1) More... | |
| static size_t | AppendTimestampBlob (Buffer::Iterator &start, const Time &time) |
| Append a binary timestamp as a BLOB using the ccn binary Timestamp representation (12-bit fraction). More... | |
| static size_t | EstimateTimestampBlob (const Time &time) |
| Estimate size of a binary timestamp as a BLOB using CCNB enconding. More... | |
| static size_t | AppendTaggedBlob (Buffer::Iterator &start, uint32_t dtag, const uint8_t *data, size_t size) |
| Append a tagged BLOB. More... | |
| static size_t | AppendTaggedBlobWithPadding (Buffer::Iterator &start, uint32_t dtag, uint32_t length, const uint8_t *data, size_t size) |
| Append a tagged BLOB, adding 0-byte padding if necessary. More... | |
| static size_t | EstimateTaggedBlob (uint32_t dtag, size_t size) |
| Estimate size of a tagged BLOB in CCNB enconding. More... | |
| template<class T > | |
| static size_t | AppendTaggedBlob (Buffer::Iterator &start, uint32_t dtag, const T &data) |
| Append value as a tagged BLOB (templated version) More... | |
| template<class T > | |
| static size_t | AppendTaggedBlobWithPadding (Buffer::Iterator &start, uint32_t dtag, uint32_t length, const T &data) |
| Append value as a tagged BLOB (templated version), add 0-padding if necessary. More... | |
| static size_t | AppendString (Buffer::Iterator &start, uint32_t dtag, const std::string &string) |
| Append a tagged string (should be a valid UTF-8 coded string) More... | |
| static size_t | EstimateString (uint32_t dtag, const std::string &string) |
| Estimate size of the string in CCNB encoding. More... | |
| static size_t | SerializeName (Buffer::Iterator &start, const Name &name) |
| Append Name in CCNB encoding. More... | |
| static size_t | SerializedSizeName (const Name &name) |
| Estimate size of Name in CCNB encoding. More... | |
| static Ptr< Name > | DeserializeName (Buffer::Iterator &start) |
| Deserialize Name from CCNB encodeing. More... | |
Helper to encode CCNb blocks.
Definition at line 38 of file wire-ccnb.h.
|
static |
Append CCNB block header.
| start | Buffer to store serialized |
| value | dictionary id of the block header |
| block_type | Type of CCNB block |
Definition at line 43 of file wire-ccnb.cc.
|
static |
Append CCNB closer tag (estimated size is 1)
| start | Buffer to store serialized Interest |
Definition at line 97 of file wire-ccnb.cc.
|
static |
Add number in CCNB encoding.
| start | Buffer to store serialized NdnInterest |
| number | Number to be written |
Definition at line 75 of file wire-ccnb.cc.
|
static |
Append a tagged string (should be a valid UTF-8 coded string)
This is a ccnb-encoded element with containing UDATA as content
| start | start iterator of the buffer to append to. |
| dtag | is the element's dtab |
| string | UTF-8 string to be written |
Definition at line 199 of file wire-ccnb.cc.
|
static |
Append a tagged BLOB.
This is a ccnb-encoded element with containing the BLOB as content
| start | start iterator of the buffer to append to. |
| dtag | is the element's dtab |
| data | points to the binary data |
| size | is the size of the data, in bytes |
Definition at line 142 of file wire-ccnb.cc.
|
inlinestatic |
Append value as a tagged BLOB (templated version)
This is a ccnb-encoded element with containing the BLOB as content
Data will be reinterpret_cast<const uint8_t*> and size will be obtained using sizeof
| start | start iterator of the buffer to append to. |
| dtag | is the element's dtab |
| data | a value to add |
Definition at line 243 of file wire-ccnb.h.
|
static |
Append a tagged BLOB, adding 0-byte padding if necessary.
This is a ccnb-encoded element with containing the BLOB as content
| start | start iterator of the buffer to append to. |
| dtag | is the element's dtab |
| length | minimum required length of the added field (padding added if necessary) |
| data | points to the binary data |
| size | is the size of the data, in bytes |
Definition at line 161 of file wire-ccnb.cc.
|
inlinestatic |
Append value as a tagged BLOB (templated version), add 0-padding if necessary.
This is a ccnb-encoded element with containing the BLOB as content
Data will be reinterpret_cast<const uint8_t*> and size will be obtained using sizeof
| start | start iterator of the buffer to append to. |
| dtag | is the element's dtab |
| length | minimum required length of the field |
| data | a value to add |
Definition at line 250 of file wire-ccnb.h.
|
static |
Append a binary timestamp as a BLOB using the ccn binary Timestamp representation (12-bit fraction).
| start | start iterator of the buffer to append to. |
| time | - Time object |
Definition at line 104 of file wire-ccnb.cc.
|
static |
Deserialize Name from CCNB encodeing.
Definition at line 247 of file wire-ccnb.cc.
|
static |
Estimate size of the CCNB block header.
| value | dictionary id of the block header |
Definition at line 62 of file wire-ccnb.cc.
|
static |
Estimate size of the number in CCNB encoding.
| number | Number to be written |
Definition at line 89 of file wire-ccnb.cc.
|
static |
Estimate size of the string in CCNB encoding.
| dtag | is the element's dtab |
| string | UTF-8 string to be written |
Definition at line 214 of file wire-ccnb.cc.
|
static |
Estimate size of a tagged BLOB in CCNB enconding.
| dtag | is the element's dtab |
| size | is the size of the data, in bytes |
Definition at line 190 of file wire-ccnb.cc.
|
static |
Estimate size of a binary timestamp as a BLOB using CCNB enconding.
| time | - Time object |
Definition at line 131 of file wire-ccnb.cc.
|
static |
Estimate size of Name in CCNB encoding.
| name | constant reference to Name object |
Definition at line 234 of file wire-ccnb.cc.
|
static |
Append Name in CCNB encoding.
Definition at line 220 of file wire-ccnb.cc.
References ns3::ndn::Blob::buf().