represents the Forwarding Information Base (FIB) More...
#include <fib.hpp>
Public Types | |
typedef boost::transformed_range< name_tree::GetTableEntry< Entry >, const name_tree::Range > | Range |
typedef boost::range_iterator< Range >::type | const_iterator |
Public Member Functions | |
Fib (NameTree &nameTree) | |
size_t | size () const |
const Entry & | findLongestPrefixMatch (const Name &prefix) const |
performs a longest prefix match More... | |
const Entry & | findLongestPrefixMatch (const pit::Entry &pitEntry) const |
performs a longest prefix match More... | |
const Entry & | findLongestPrefixMatch (const measurements::Entry &measurementsEntry) const |
performs a longest prefix match More... | |
Entry * | findExactMatch (const Name &prefix) |
performs an exact match lookup More... | |
std::pair< Entry *, bool > | insert (const Name &prefix) |
inserts a FIB entry for prefix More... | |
void | erase (const Name &prefix) |
void | erase (const Entry &entry) |
void | removeNextHop (Entry &entry, const Face &face) |
removes the NextHop record for face More... | |
const_iterator | begin () const |
const_iterator | end () const |
Static Public Member Functions | |
static constexpr size_t | getMaxDepth () |
Maximum number of components in a FIB entry prefix. More... | |
typedef boost::transformed_range<name_tree::GetTableEntry<Entry>, const name_tree::Range> nfd::fib::Fib::Range |
typedef boost::range_iterator<Range>::type nfd::fib::Fib::const_iterator |
performs a longest prefix match
Definition at line 62 of file fib.cpp.
Referenced by nfd::fw::Strategy::lookupFib().
const Entry & nfd::fib::Fib::findLongestPrefixMatch | ( | const pit::Entry & | pitEntry | ) | const |
const Entry & nfd::fib::Fib::findLongestPrefixMatch | ( | const measurements::Entry & | measurementsEntry | ) | const |
performs an exact match lookup
Definition at line 80 of file fib.cpp.
References nfd::name_tree::NameTree::findExactMatch(), and nfd::name_tree::Entry::getFibEntry().
|
inlinestatic |
Maximum number of components in a FIB entry prefix.
This constant is currently advisory, but will become mandatory later.
Definition at line 92 of file fib.hpp.
References nfd::FIB_MAX_DEPTH, and nfd::name_tree::NameTree::getMaxDepth().
inserts a FIB entry for prefix
If an entry for exact same prefix exists, that entry is returned.
Definition at line 90 of file fib.cpp.
References nfd::name_tree::Entry::getFibEntry(), nfd::name_tree::NameTree::lookup(), and nfd::name_tree::Entry::setFibEntry().
void nfd::fib::Fib::erase | ( | const Name & | prefix | ) |
Definition at line 116 of file fib.cpp.
References nfd::name_tree::NameTree::findExactMatch().
Referenced by erase(), and removeNextHop().
void nfd::fib::Fib::erase | ( | const Entry & | entry | ) |
Definition at line 125 of file fib.cpp.
References erase(), and nfd::name_tree::NameTree::getEntry().
removes the NextHop record for face
Definition at line 136 of file fib.cpp.
References erase(), nfd::name_tree::NameTree::getEntry(), nfd::fib::Entry::hasNextHops(), and nfd::fib::Entry::removeNextHop().
Referenced by nfd::cleanupOnFaceRemoval().
|
inline |
|
inline |