Class for RDR-style metadata encoding/decoding. More...
#include <ndn-cxx/metadata-object.hpp>
| Classes | |
| class | Error | 
| Public Member Functions | |
| MetadataObject () | |
| Create an empty metadata object.  More... | |
| MetadataObject (const Data &data) | |
| Construct a metadata object by decoding of the given Data packet.  More... | |
| const Name & | getVersionedName () const | 
| Return the versioned name (i.e., the name inside the content)  More... | |
| Data | makeData (Name discoveryInterestName, KeyChain &keyChain, const ndn::security::SigningInfo &si=KeyChain::getDefaultSigningInfo(), optional< uint64_t > version=nullopt, time::milliseconds freshnessPeriod=10_ms) const | 
| Create a Data packet representing this metadata object.  More... | |
| MetadataObject & | setVersionedName (const Name &name) | 
| Set the versioned name.  More... | |
| Static Public Member Functions | |
| static bool | isValidName (const Name &name) | 
| Check whether namecan be a valid metadata name.  More... | |
| static Interest | makeDiscoveryInterest (Name name) | 
| Generate a discovery interest packet based on name.  More... | |
Class for RDR-style metadata encoding/decoding.
The interest and data packets dealing with metadata (called "discovery interest" and "metadata", respectively) follow a specific format.
Realtime Data Retrieval (RDR) is a protocol for discovering the latest version number of a given data collection. There are two names in an RDR metadata object:
32=metadata, as well as version and segment components. Definition at line 45 of file metadata-object.hpp.
| 
 | default | 
Create an empty metadata object.
| 
 | explicit | 
Construct a metadata object by decoding of the given Data packet.
| tlv::Error | the Data is not a valid metadata packet | 
Definition at line 33 of file metadata-object.cpp.
| 
 | inline | 
Return the versioned name (i.e., the name inside the content)
Definition at line 90 of file metadata-object.hpp.
| 
 | static | 
Check whether name can be a valid metadata name. 
Definition at line 78 of file metadata-object.cpp.
| Data ndn::MetadataObject::makeData | ( | Name | discoveryInterestName, | 
| KeyChain & | keyChain, | ||
| const ndn::security::SigningInfo & | si = KeyChain::getDefaultSigningInfo(), | ||
| optional< uint64_t > | version = nullopt, | ||
| time::milliseconds | freshnessPeriod = 10_ms | ||
| ) | const | 
Create a Data packet representing this metadata object.
| discoveryInterestName | the discovery Interest's name, which must end with a keyword name component 32=metadata | 
| keyChain | KeyChain to sign the Data | 
| si | signing parameters | 
| version | version number of metadata packet; if nullopt, use current Unix timestamp (in milliseconds) as the version number | 
| freshnessPeriod | freshness period of metadata packet | 
| tlv::Error | discoveryInterestNameis not valid | 
Definition at line 49 of file metadata-object.cpp.
Generate a discovery interest packet based on name. 
| name | prefix of data collection | 
Definition at line 85 of file metadata-object.cpp.
| MetadataObject & ndn::MetadataObject::setVersionedName | ( | const Name & | name | ) | 
Set the versioned name.
Any metadata packet carries a versioned name in its payload where it shows the name and the latest version of a data stream. For instance, /ndn/test/FD%97%47%1E%6C is a versioned name that shows the latest version of /ndn/test. 
Definition at line 71 of file metadata-object.cpp.