nlsr::AdjLsa Class Reference

Data abstraction for AdjLsa AdjacencyLsa := ADJACENCY-LSA-TYPE TLV-LENGTH Lsa Adjacency*. More...

#include <adj-lsa.hpp>

+ Inheritance diagram for nlsr::AdjLsa:
+ Collaboration diagram for nlsr::AdjLsa:

Public Types

typedef AdjacencyList::const_iterator const_iterator
 
enum  Type {
  Type::ADJACENCY,
  Type::COORDINATE,
  Type::NAME,
  Type::BASE
}
 

Public Member Functions

 AdjLsa ()=default
 
 AdjLsa (const ndn::Name &originR, uint64_t seqNo, const ndn::time::system_clock::TimePoint &timepoint, uint32_t noLink, AdjacencyList &adl)
 
 AdjLsa (const ndn::Block &block)
 
void addAdjacent (Adjacent adj)
 
const_iterator begin () const
 
const_iterator end () const
 
const AdjacencyListgetAdl () const
 
const ndn::time::system_clock::TimePoint & getExpirationTimePoint () const
 
ndn::scheduler::EventId getExpiringEventId () const
 
uint32_t getNoLink ()
 
const ndn::Name & getOriginRouter () const
 
ndn::Name getOriginRouterCopy () const
 
uint64_t getSeqNo () const
 
Lsa::Type getType () const override
 
bool isEqualContent (const AdjLsa &alsa) const
 
void resetAdl ()
 
void setExpirationTimePoint (const ndn::time::system_clock::TimePoint &lt)
 
void setExpiringEventId (ndn::scheduler::EventId eid)
 
void setSeqNo (uint64_t seqNo)
 
std::string toString () const override
 
void wireDecode (const ndn::Block &wire)
 
template<ndn::encoding::Tag TAG>
size_t wireEncode (ndn::EncodingImpl< TAG > &block) const
 
const ndn::Block & wireEncode () const override
 

Static Public Member Functions

static constexpr Lsa::Type type ()
 

Protected Attributes

ndn::time::system_clock::TimePoint m_expirationTimePoint
 
ndn::scheduler::EventId m_expiringEventId
 
ndn::Name m_originRouter
 
uint64_t m_seqNo = 0
 
ndn::Block m_wire
 

Detailed Description

Data abstraction for AdjLsa AdjacencyLsa := ADJACENCY-LSA-TYPE TLV-LENGTH Lsa Adjacency*.

Definition at line 37 of file adj-lsa.hpp.

Member Typedef Documentation

◆ const_iterator

Member Enumeration Documentation

◆ Type

enum nlsr::Lsa::Type
stronginherited
Enumerator
ADJACENCY 
COORDINATE 
NAME 
BASE 

Definition at line 55 of file lsa.hpp.

Constructor & Destructor Documentation

◆ AdjLsa() [1/3]

nlsr::AdjLsa::AdjLsa ( )
default

◆ AdjLsa() [2/3]

nlsr::AdjLsa::AdjLsa ( const ndn::Name &  originR,
uint64_t  seqNo,
const ndn::time::system_clock::TimePoint &  timepoint,
uint32_t  noLink,
AdjacencyList adl 
)

Definition at line 27 of file adj-lsa.cpp.

+ Here is the call graph for this function:

◆ AdjLsa() [3/3]

nlsr::AdjLsa::AdjLsa ( const ndn::Block &  block)

Definition at line 40 of file adj-lsa.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ addAdjacent()

void nlsr::AdjLsa::addAdjacent ( Adjacent  adj)
inline

Definition at line 76 of file adj-lsa.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ begin()

const_iterator nlsr::AdjLsa::begin ( ) const
inline

Definition at line 92 of file adj-lsa.hpp.

+ Here is the call graph for this function:

◆ end()

const_iterator nlsr::AdjLsa::end ( ) const
inline

Definition at line 98 of file adj-lsa.hpp.

+ Here is the call graph for this function:

◆ getAdl()

const AdjacencyList& nlsr::AdjLsa::getAdl ( ) const
inline

Definition at line 63 of file adj-lsa.hpp.

+ Here is the caller graph for this function:

◆ getExpirationTimePoint()

const ndn::time::system_clock::TimePoint& nlsr::Lsa::getExpirationTimePoint ( ) const
inlineinherited

Definition at line 101 of file lsa.hpp.

+ Here is the caller graph for this function:

◆ getExpiringEventId()

ndn::scheduler::EventId nlsr::Lsa::getExpiringEventId ( ) const
inlineinherited

Definition at line 120 of file lsa.hpp.

+ Here is the call graph for this function:

◆ getNoLink()

uint32_t nlsr::AdjLsa::getNoLink ( )
inline

Definition at line 83 of file adj-lsa.hpp.

+ Here is the call graph for this function:

◆ getOriginRouter()

const ndn::Name& nlsr::Lsa::getOriginRouter ( ) const
inlineinherited

Definition at line 89 of file lsa.hpp.

+ Here is the caller graph for this function:

◆ getOriginRouterCopy()

ndn::Name nlsr::Lsa::getOriginRouterCopy ( ) const
inlineinherited

Definition at line 95 of file lsa.hpp.

◆ getSeqNo()

uint64_t nlsr::Lsa::getSeqNo ( ) const
inlineinherited

Definition at line 83 of file lsa.hpp.

+ Here is the caller graph for this function:

◆ getType()

Lsa::Type nlsr::AdjLsa::getType ( ) const
inlineoverridevirtual

Implements nlsr::Lsa.

Definition at line 51 of file adj-lsa.hpp.

+ Here is the call graph for this function:

◆ isEqualContent()

bool nlsr::AdjLsa::isEqualContent ( const AdjLsa alsa) const

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetAdl()

void nlsr::AdjLsa::resetAdl ( )
inline

Definition at line 69 of file adj-lsa.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setExpirationTimePoint()

void nlsr::Lsa::setExpirationTimePoint ( const ndn::time::system_clock::TimePoint &  lt)
inlineinherited

Definition at line 107 of file lsa.hpp.

◆ setExpiringEventId()

void nlsr::Lsa::setExpiringEventId ( ndn::scheduler::EventId  eid)
inlineinherited

Definition at line 114 of file lsa.hpp.

◆ setSeqNo()

void nlsr::Lsa::setSeqNo ( uint64_t  seqNo)
inlineinherited

Definition at line 76 of file lsa.hpp.

◆ toString()

std::string nlsr::AdjLsa::toString ( ) const
overridevirtual

Get data common to all LSA types.

Reimplemented from nlsr::Lsa.

Definition at line 127 of file adj-lsa.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ type()

static constexpr Lsa::Type nlsr::AdjLsa::type ( )
inlinestatic

Definition at line 57 of file adj-lsa.hpp.

+ Here is the caller graph for this function:

◆ wireDecode()

void nlsr::AdjLsa::wireDecode ( const ndn::Block &  wire)

Definition at line 91 of file adj-lsa.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ wireEncode() [1/2]

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

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

+ Here is the call graph for this function:

◆ wireEncode() [2/2]

const ndn::Block & nlsr::AdjLsa::wireEncode ( ) const
overridevirtual

Implements nlsr::Lsa.

Definition at line 73 of file adj-lsa.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_expirationTimePoint

ndn::time::system_clock::TimePoint nlsr::Lsa::m_expirationTimePoint
protectedinherited

Definition at line 144 of file lsa.hpp.

◆ m_expiringEventId

ndn::scheduler::EventId nlsr::Lsa::m_expiringEventId
protectedinherited

Definition at line 145 of file lsa.hpp.

◆ m_originRouter

ndn::Name nlsr::Lsa::m_originRouter
protectedinherited

Definition at line 142 of file lsa.hpp.

◆ m_seqNo

uint64_t nlsr::Lsa::m_seqNo = 0
protectedinherited

Definition at line 143 of file lsa.hpp.

◆ m_wire

ndn::Block nlsr::Lsa::m_wire
mutableprotectedinherited

Definition at line 147 of file lsa.hpp.