nlsr::tlv::CoordinateLsa Class Reference

Data abstraction for CoordinateLsa. More...

#include <coordinate-lsa.hpp>

Data Structures

class  Error
 

Public Member Functions

 CoordinateLsa ()
 
 CoordinateLsa (const ndn::Block &block)
 
const LsaInfogetLsaInfo () const
 
CoordinateLsasetLsaInfo (const LsaInfo &lsaInfo)
 
double getHyperbolicRadius () const
 
CoordinateLsasetHyperbolicRadius (double hyperbolicRadius)
 
const std::vector< double > getHyperbolicAngle () const
 
CoordinateLsasetHyperbolicAngle (const std::vector< double > &hyperbolicAngle)
 
template<ndn::encoding::Tag TAG>
size_t wireEncode (ndn::EncodingImpl< TAG > &block) const
 Encodes the hyperbolic coordinates and some info 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 CoordinateLsa.

CoordinateLsa := COORDINATE-LSA-TYPE TLV-LENGTH LsaInfo HyperbolicRadius HyperbolicAngle+

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

Definition at line 46 of file coordinate-lsa.hpp.

Constructor & Destructor Documentation

nlsr::tlv::CoordinateLsa::CoordinateLsa ( )

Definition at line 41 of file coordinate-lsa.cpp.

Here is the caller graph for this function:

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

Definition at line 46 of file coordinate-lsa.cpp.

Here is the call graph for this function:

Member Function Documentation

const std::vector<double> nlsr::tlv::CoordinateLsa::getHyperbolicAngle ( ) const
inline

Definition at line 93 of file coordinate-lsa.hpp.

Here is the caller graph for this function:

double nlsr::tlv::CoordinateLsa::getHyperbolicRadius ( ) const
inline

Definition at line 79 of file coordinate-lsa.hpp.

Here is the caller graph for this function:

const LsaInfo& nlsr::tlv::CoordinateLsa::getLsaInfo ( ) const
inline

Definition at line 65 of file coordinate-lsa.hpp.

Here is the caller graph for this function:

CoordinateLsa& nlsr::tlv::CoordinateLsa::setHyperbolicAngle ( const std::vector< double > &  hyperbolicAngle)
inline

Definition at line 99 of file coordinate-lsa.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

CoordinateLsa& nlsr::tlv::CoordinateLsa::setHyperbolicRadius ( double  hyperbolicRadius)
inline

Definition at line 85 of file coordinate-lsa.hpp.

Here is the caller graph for this function:

CoordinateLsa& nlsr::tlv::CoordinateLsa::setLsaInfo ( const LsaInfo lsaInfo)
inline

Definition at line 71 of file coordinate-lsa.hpp.

Here is the caller graph for this function:

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

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

Definition at line 105 of file coordinate-lsa.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Encodes the hyperbolic coordinates and some info using the method in TAG.

This function will TLV-format the hyperbolic coordinates objects and some LSA info using the implementation speciifed 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
CoordinateLsa::wireEncode()

Definition at line 53 of file coordinate-lsa.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

const ndn::Block & nlsr::tlv::CoordinateLsa::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 CoordinateLsa::wireEncode(ndn::EncodingImpl<TAG>&)

Definition at line 87 of file coordinate-lsa.cpp.

Here is the caller graph for this function: