nlsr::tlv::LsdbStatus Class Reference

Data abstraction for LsdbStatus. More...

#include <lsdb-status.hpp>

Data Structures

class  Error
 

Public Types

typedef std::list< AdjacencyLsaAdjacencyLsaList
 
typedef std::list< CoordinateLsaCoordinateLsaList
 
typedef std::list< NameLsaNameLsaList
 

Public Member Functions

 LsdbStatus ()
 
 LsdbStatus (const ndn::Block &block)
 
const std::list< AdjacencyLsa > & getAdjacencyLsas () const
 
LsdbStatusaddAdjacencyLsa (const AdjacencyLsa &adjacencyLsa)
 
LsdbStatusclearAdjacencyLsas ()
 
bool hasAdjacencyLsas ()
 
const std::list< CoordinateLsa > & getCoordinateLsas () const
 
LsdbStatusaddCoordinateLsa (const CoordinateLsa &coordinateLsa)
 
LsdbStatusclearCoordinateLsas ()
 
bool hasCoordinateLsas ()
 
const std::list< NameLsa > & getNameLsas () const
 
LsdbStatusaddNameLsa (const NameLsa &nameLsa)
 
LsdbStatusclearNameLsas ()
 
bool hasNameLsas ()
 
template<ndn::encoding::Tag TAG>
size_t wireEncode (ndn::EncodingImpl< TAG > &block) const
 Encodes the LSA objects and some info for each LSA using the method in TAG. More...
 
const ndn::Block & wireEncode () const
 Create a TLV encoding of this object. More...
 
void wireDecode (const ndn::Block &wire)
 Populate this object by decoding the one contained in the given block. More...
 

Detailed Description

Data abstraction for LsdbStatus.

LsdbStatus := LSDB-STATUS-TYPE TLV-LENGTH AdjacencyLsa* CoordinateLsa* NameLsa*

See also
https://redmine.named-data.net/projects/nlsr/wiki/LSDB_DataSet

Definition at line 50 of file lsdb-status.hpp.

Member Typedef Documentation

Definition at line 63 of file lsdb-status.hpp.

Definition at line 64 of file lsdb-status.hpp.

Definition at line 65 of file lsdb-status.hpp.

Constructor & Destructor Documentation

nlsr::tlv::LsdbStatus::LsdbStatus ( )

Definition at line 36 of file lsdb-status.cpp.

nlsr::tlv::LsdbStatus::LsdbStatus ( const ndn::Block &  block)
explicit

Definition at line 43 of file lsdb-status.cpp.

Here is the call graph for this function:

Member Function Documentation

LsdbStatus& nlsr::tlv::LsdbStatus::addAdjacencyLsa ( const AdjacencyLsa adjacencyLsa)
inline

Definition at line 79 of file lsdb-status.hpp.

Here is the caller graph for this function:

LsdbStatus& nlsr::tlv::LsdbStatus::addCoordinateLsa ( const CoordinateLsa coordinateLsa)
inline

Definition at line 108 of file lsdb-status.hpp.

Here is the caller graph for this function:

LsdbStatus& nlsr::tlv::LsdbStatus::addNameLsa ( const NameLsa nameLsa)
inline

Definition at line 137 of file lsdb-status.hpp.

Here is the caller graph for this function:

LsdbStatus& nlsr::tlv::LsdbStatus::clearAdjacencyLsas ( )
inline

Definition at line 88 of file lsdb-status.hpp.

LsdbStatus& nlsr::tlv::LsdbStatus::clearCoordinateLsas ( )
inline

Definition at line 117 of file lsdb-status.hpp.

LsdbStatus& nlsr::tlv::LsdbStatus::clearNameLsas ( )
inline

Definition at line 146 of file lsdb-status.hpp.

const std::list<AdjacencyLsa>& nlsr::tlv::LsdbStatus::getAdjacencyLsas ( ) const
inline

Definition at line 73 of file lsdb-status.hpp.

Here is the caller graph for this function:

const std::list<CoordinateLsa>& nlsr::tlv::LsdbStatus::getCoordinateLsas ( ) const
inline

Definition at line 102 of file lsdb-status.hpp.

Here is the caller graph for this function:

const std::list<NameLsa>& nlsr::tlv::LsdbStatus::getNameLsas ( ) const
inline

Definition at line 131 of file lsdb-status.hpp.

Here is the caller graph for this function:

bool nlsr::tlv::LsdbStatus::hasAdjacencyLsas ( )
inline

Definition at line 96 of file lsdb-status.hpp.

bool nlsr::tlv::LsdbStatus::hasCoordinateLsas ( )
inline

Definition at line 125 of file lsdb-status.hpp.

bool nlsr::tlv::LsdbStatus::hasNameLsas ( )
inline

Definition at line 154 of file lsdb-status.hpp.

Here is the call graph for this function:

void nlsr::tlv::LsdbStatus::wireDecode ( const ndn::Block &  wire)

Populate this object by decoding the one contained in the given block.

Definition at line 100 of file lsdb-status.cpp.

Here is the caller graph for this function:

template<ndn::encoding::Tag TAG>
size_t nlsr::tlv::LsdbStatus::wireEncode ( ndn::EncodingImpl< TAG > &  block) const

Encodes the LSA objects and some info for each LSA using the method in TAG.

This function will TLV-format the LSA objects and some LSA info using the implementation specified by TAG. Usually this is called with an estimator first to guess how long the buffer needs to be, then with an encoder to do the real work. This process is automated by the other wireEncode.

See also
LsdbStatus::wireEncode()

Definition at line 50 of file lsdb-status.cpp.

Here is the caller graph for this function:

const ndn::Block & nlsr::tlv::LsdbStatus::wireEncode ( ) const

Create a TLV encoding of this object.

Create a block containing the TLV encoding of this object. That involves two steps: estimating the size that the information will take up, and then creating a buffer of that size and encoding the information into it. Both steps are accomplished by LsdbStatus::wireEncode(ndn::EncodingImpl<TAG>&)

Definition at line 82 of file lsdb-status.cpp.

Here is the caller graph for this function: