represents the Routing Information Base More...
#include <rib/rib.hpp>
Public Types | |
typedef RibTable::const_iterator | const_iterator |
typedef std::map< uint64_t, std::list< shared_ptr< RibEntry > > > | FaceLookupTable |
typedef std::list< shared_ptr< RibEntry > > | RibEntryList |
typedef std::map< Name, shared_ptr< RibEntry > > | RibTable |
typedef bool(* | RouteComparePredicate) (const Route &, const Route &) |
typedef std::set< Route, RouteComparePredicate > | RouteSet |
typedef function< void(uint32_t code, const std::string &error)> | UpdateFailureCallback |
typedef function< void()> | UpdateSuccessCallback |
Public Member Functions | |
Rib () | |
~Rib () | |
const_iterator | begin () const |
void | beginApplyUpdate (const RibUpdate &update, const UpdateSuccessCallback &onSuccess, const UpdateFailureCallback &onFailure) |
passes the provided RibUpdateBatch to FibUpdater to calculate and send FibUpdates. More... | |
void | beginRemoveFace (uint64_t faceId) |
starts the FIB update process when a face has been destroyed More... | |
bool | empty () const |
const_iterator | end () const |
const_iterator | find (const Name &prefix) const |
Route * | find (const Name &prefix, const Route &route) const |
std::list< shared_ptr< RibEntry > > | findDescendants (const Name &prefix) const |
finds namespaces under the passed prefix More... | |
std::list< shared_ptr< RibEntry > > | findDescendantsForNonInsertedName (const Name &prefix) const |
finds namespaces under the passed prefix More... | |
shared_ptr< RibEntry > | findParent (const Name &prefix) const |
void | insert (const Name &prefix, const Route &route) |
void | onFibUpdateFailure (const Rib::UpdateFailureCallback &onFailure, uint32_t code, const std::string &error) |
void | onFibUpdateSuccess (const RibUpdateBatch &batch, const RibUpdateList &inheritedRoutes, const Rib::UpdateSuccessCallback &onSuccess) |
void | onRouteExpiration (const Name &prefix, const Route &route) |
void | setFibUpdater (FibUpdater *updater) |
size_t | size () const |
Public Attributes | |
ndn::util::signal::Signal< Rib, RibRouteRef > | afterAddRoute |
signals after a Route is added More... | |
ndn::util::signal::Signal< Rib, Name > | afterEraseEntry |
signals after a RIB entry is erased More... | |
ndn::util::signal::Signal< Rib, Name > | afterInsertEntry |
signals after a RIB entry is inserted More... | |
ndn::util::signal::Signal< Rib, RibRouteRef > | beforeRemoveRoute |
signals before a route is removed More... | |
Friends | |
class | FibUpdater |
represents the Routing Information Base
The Routing Information Base contains a collection of Routes, each represents a piece of static or dynamic routing information registered by applications, operators, or NFD itself. Routes associated with the same namespace are collected into a RIB entry.
typedef RibTable::const_iterator nfd::rib::Rib::const_iterator |
typedef std::map<uint64_t, std::list<shared_ptr<RibEntry> > > nfd::rib::Rib::FaceLookupTable |
typedef std::list<shared_ptr<RibEntry> > nfd::rib::Rib::RibEntryList |
typedef std::map<Name, shared_ptr<RibEntry> > nfd::rib::Rib::RibTable |
typedef std::set<Route, RouteComparePredicate> nfd::rib::Rib::RouteSet |
typedef function<void(uint32_t code, const std::string& error)> nfd::rib::Rib::UpdateFailureCallback |
typedef function<void()> nfd::rib::Rib::UpdateSuccessCallback |
|
inline |
void nfd::rib::Rib::beginApplyUpdate | ( | const RibUpdate & | update, |
const UpdateSuccessCallback & | onSuccess, | ||
const UpdateFailureCallback & | onFailure | ||
) |
passes the provided RibUpdateBatch to FibUpdater to calculate and send FibUpdates.
If the FIB is updated successfully, onFibUpdateSuccess() will be called, and the RIB will be updated
If the FIB update fails, onFibUpdateFailure() will be called, and the RIB will not be updated.
void nfd::rib::Rib::beginRemoveFace | ( | uint64_t | faceId | ) |
|
inline |
Rib::const_iterator nfd::rib::Rib::find | ( | const Name & | prefix | ) | const |
std::list< shared_ptr< RibEntry > > nfd::rib::Rib::findDescendants | ( | const Name & | prefix | ) | const |
std::list< shared_ptr< RibEntry > > nfd::rib::Rib::findDescendantsForNonInsertedName | ( | const Name & | prefix | ) | const |
finds namespaces under the passed prefix
shared_ptr< RibEntry > nfd::rib::Rib::findParent | ( | const Name & | prefix | ) | const |
void nfd::rib::Rib::insert | ( | const Name & | prefix, |
const Route & | route | ||
) |
void nfd::rib::Rib::onFibUpdateFailure | ( | const Rib::UpdateFailureCallback & | onFailure, |
uint32_t | code, | ||
const std::string & | error | ||
) |
void nfd::rib::Rib::onFibUpdateSuccess | ( | const RibUpdateBatch & | batch, |
const RibUpdateList & | inheritedRoutes, | ||
const Rib::UpdateSuccessCallback & | onSuccess | ||
) |
void nfd::rib::Rib::onRouteExpiration | ( | const Name & | prefix, |
const Route & | route | ||
) |
void nfd::rib::Rib::setFibUpdater | ( | FibUpdater * | updater | ) |
|
friend |
ndn::util::signal::Signal<Rib, RibRouteRef> nfd::rib::Rib::afterAddRoute |
ndn::util::signal::Signal<Rib, Name> nfd::rib::Rib::afterEraseEntry |
ndn::util::signal::Signal<Rib, Name> nfd::rib::Rib::afterInsertEntry |
ndn::util::signal::Signal<Rib, RibRouteRef> nfd::rib::Rib::beforeRemoveRoute |