#include <lsdb.hpp>
Classes | |
struct | byName |
struct | byType |
struct | enum_class_hash |
struct | ExtractOriginRouter |
struct | name_hash |
Public Types | |
using | AfterLsdbModified = ndn::signal::Signal< Lsdb, std::shared_ptr< Lsa >, LsdbUpdate, std::list< ndn::Name >, std::list< ndn::Name > > |
using | LsaContainer = boost::multi_index_container< std::shared_ptr< Lsa >, bmi::indexed_by< bmi::hashed_unique< bmi::tag< byName >, bmi::composite_key< Lsa, ExtractOriginRouter, bmi::const_mem_fun< Lsa, Lsa::Type, &Lsa::getType > >, bmi::composite_key_hash< name_hash, enum_class_hash > >, bmi::hashed_non_unique< bmi::tag< byType >, bmi::const_mem_fun< Lsa, Lsa::Type, &Lsa::getType >, enum_class_hash > > > |
Public Member Functions | |
Lsdb (ndn::Face &face, ndn::KeyChain &keyChain, ConfParameter &confParam) | |
~Lsdb () | |
void | buildAndInstallOwnNameLsa () |
Builds a name LSA for this router and then installs it into the LSDB. More... | |
bool | doesLsaExist (const ndn::Name &router, Lsa::Type lsaType) |
Returns whether the LSDB contains some LSA. More... | |
template<typename T > | |
std::shared_ptr< T > | findLsa (const ndn::Name &router) const |
bool | getIsBuildAdjLsaScheduled () const |
template<typename T > | |
std::pair< LsaContainer::index< Lsdb::byType >::type::iterator, LsaContainer::index< Lsdb::byType >::type::iterator > | getLsdbIterator () const |
SyncLogicHandler & | getSync () |
void | processInterest (const ndn::Name &name, const ndn::Interest &interest) |
void | scheduleAdjLsaBuild () |
Schedules a build of this router's LSA. More... | |
void | writeLog () const |
Public Attributes | |
ndn::signal::Signal< Lsdb, ndn::Data > | afterSegmentValidatedSignal |
ndn::signal::Signal< Lsdb, Statistics::PacketType > | lsaIncrementSignal |
AfterLsdbModified | onLsdbModified |
using nlsr::Lsdb::AfterLsdbModified = ndn::signal::Signal<Lsdb, std::shared_ptr<Lsa>, LsdbUpdate, std::list<ndn::Name>, std::list<ndn::Name> > |
using nlsr::Lsdb::LsaContainer = boost::multi_index_container< std::shared_ptr<Lsa>, bmi::indexed_by< bmi::hashed_unique< bmi::tag<byName>, bmi::composite_key< Lsa, ExtractOriginRouter, bmi::const_mem_fun<Lsa, Lsa::Type, &Lsa::getType> >, bmi::composite_key_hash<name_hash, enum_class_hash> >, bmi::hashed_non_unique< bmi::tag<byType>, bmi::const_mem_fun<Lsa, Lsa::Type, &Lsa::getType>, enum_class_hash > > > |
nlsr::Lsdb::Lsdb | ( | ndn::Face & | face, |
ndn::KeyChain & | keyChain, | ||
ConfParameter & | confParam | ||
) |
void nlsr::Lsdb::buildAndInstallOwnNameLsa | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void nlsr::Lsdb::processInterest | ( | const ndn::Name & | name, |
const ndn::Interest & | interest | ||
) |
void nlsr::Lsdb::scheduleAdjLsaBuild | ( | ) |
ndn::signal::Signal<Lsdb, ndn::Data> nlsr::Lsdb::afterSegmentValidatedSignal |
ndn::signal::Signal<Lsdb, Statistics::PacketType> nlsr::Lsdb::lsaIncrementSignal |
AfterLsdbModified nlsr::Lsdb::onLsdbModified |