ndn::PrefixAnnouncement Class Reference

A prefix announcement object that represents an application's intent of registering a prefix toward itself. More...

#include <ndn-cxx/prefix-announcement.hpp>

Classes

class  Error
 

Public Member Functions

 PrefixAnnouncement ()
 Construct an empty prefix announcement. More...
 
 PrefixAnnouncement (Data data)
 Decode a prefix announcement from Data. More...
 
const NamegetAnnouncedName () const
 Return announced name. More...
 
const optional< Data > & getData () const
 Get the Data representing the prefix announcement, if available. More...
 
time::milliseconds getExpiration () const
 Return relative expiration period. More...
 
optional< security::ValidityPeriodgetValidityPeriod () const
 Return absolute validity period. More...
 
PrefixAnnouncementsetAnnouncedName (Name name)
 Set announced name. More...
 
PrefixAnnouncementsetExpiration (time::milliseconds expiration)
 Set relative expiration period. More...
 
PrefixAnnouncementsetValidityPeriod (optional< security::ValidityPeriod > validity)
 Set absolute validity period. More...
 
const DatatoData (KeyChain &keyChain, const ndn::security::SigningInfo &si=KeyChain::getDefaultSigningInfo(), optional< uint64_t > version=nullopt) const
 Create a Data packet representing the prefix announcement, if it does not exist. More...
 

Detailed Description

A prefix announcement object that represents an application's intent of registering a prefix toward itself.

See also
https://redmine.named-data.net/projects/nfd/wiki/PrefixAnnouncement

Definition at line 33 of file prefix-announcement.hpp.

Constructor & Destructor Documentation

ndn::PrefixAnnouncement::PrefixAnnouncement ( )
default

Construct an empty prefix announcement.

Postcondition
getData() == nullopt
getAnnouncedName() == "/"
getExpiration() == 0_ms
ndn::PrefixAnnouncement::PrefixAnnouncement ( Data  data)
explicit

Decode a prefix announcement from Data.

Exceptions
tlv::Errorthe Data is not a prefix announcement.
Postcondition
getData() == data

Definition at line 31 of file prefix-announcement.cpp.

Member Function Documentation

const Name& ndn::PrefixAnnouncement::getAnnouncedName ( ) const
inline

Return announced name.

Definition at line 79 of file prefix-announcement.hpp.

const optional<Data>& ndn::PrefixAnnouncement::getData ( ) const
inline

Get the Data representing the prefix announcement, if available.

Definition at line 59 of file prefix-announcement.hpp.

time::milliseconds ndn::PrefixAnnouncement::getExpiration ( ) const
inline

Return relative expiration period.

Definition at line 93 of file prefix-announcement.hpp.

optional<security::ValidityPeriod> ndn::PrefixAnnouncement::getValidityPeriod ( ) const
inline

Return absolute validity period.

Definition at line 108 of file prefix-announcement.hpp.

PrefixAnnouncement & ndn::PrefixAnnouncement::setAnnouncedName ( Name  name)

Set announced name.

Postcondition
getData() == nullopt

Definition at line 91 of file prefix-announcement.cpp.

PrefixAnnouncement & ndn::PrefixAnnouncement::setExpiration ( time::milliseconds  expiration)

Set relative expiration period.

Exceptions
std::invalid_argumentexpiration period is negative.
Postcondition
getData() == nullopt

Definition at line 99 of file prefix-announcement.cpp.

PrefixAnnouncement & ndn::PrefixAnnouncement::setValidityPeriod ( optional< security::ValidityPeriod validity)

Set absolute validity period.

Postcondition
getData() == nullopt

Definition at line 110 of file prefix-announcement.cpp.

const Data & ndn::PrefixAnnouncement::toData ( KeyChain &  keyChain,
const ndn::security::SigningInfo si = KeyChain::getDefaultSigningInfo(),
optional< uint64_t >  version = nullopt 
) const

Create a Data packet representing the prefix announcement, if it does not exist.

Parameters
keyChainKeyChain to sign the Data.
sisigning parameters.
versionversion number in Data name; if nullopt, use current Unix timestamp (in milliseconds) as the version number.
Postcondition
getData() == the returned Data

Definition at line 65 of file prefix-announcement.cpp.