Represents the Forwarding Information Base (FIB) More...
#include <daemon/table/fib.hpp>
Public Types | |
typedef boost::range_iterator< Range >::type | const_iterator |
typedef boost::transformed_range< name_tree::GetTableEntry< Entry >, const name_tree::Range > | Range |
enum | RemoveNextHopResult { RemoveNextHopResult::NO_SUCH_NEXTHOP, RemoveNextHopResult::NEXTHOP_REMOVED, RemoveNextHopResult::FIB_ENTRY_REMOVED } |
Public Member Functions | |
Fib (NameTree &nameTree) | |
void | addOrUpdateNextHop (Entry &entry, Face &face, uint64_t cost) |
Add a NextHop record. More... | |
const_iterator | begin () const |
const_iterator | end () const |
void | erase (const Name &prefix) |
void | erase (const Entry &entry) |
Entry * | findExactMatch (const Name &prefix) |
Performs an exact match lookup. More... | |
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... | |
std::pair< Entry *, bool > | insert (const Name &prefix) |
Find or insert a FIB entry. More... | |
RemoveNextHopResult | removeNextHop (Entry &entry, const Face &face) |
Remove the NextHop record for face from entry . More... | |
size_t | size () const |
Static Public Member Functions | |
static constexpr size_t | getMaxDepth () |
Maximum number of components in a FIB entry prefix. More... | |
Public Attributes | |
signal::Signal< Fib, Name, NextHop > | afterNewNextHop |
signals on Fib entry nexthop creation More... | |
typedef boost::range_iterator<Range>::type nfd::fib::Fib::const_iterator |
typedef boost::transformed_range<name_tree::GetTableEntry<Entry>, const name_tree::Range> nfd::fib::Fib::Range |
|
strong |
|
inline |
|
inline |
Entry * nfd::fib::Fib::findExactMatch | ( | const Name & | prefix | ) |
const Entry & nfd::fib::Fib::findLongestPrefixMatch | ( | const Name & | prefix | ) | const |
const Entry & nfd::fib::Fib::findLongestPrefixMatch | ( | const pit::Entry & | pitEntry | ) | const |
const Entry & nfd::fib::Fib::findLongestPrefixMatch | ( | const measurements::Entry & | measurementsEntry | ) | const |
|
inlinestatic |
std::pair< Entry *, bool > nfd::fib::Fib::insert | ( | const Name & | prefix | ) |
Find or insert a FIB entry.
prefix | FIB entry name; it must not have more than getMaxDepth() components. |
Fib::RemoveNextHopResult nfd::fib::Fib::removeNextHop | ( | Entry & | entry, |
const Face & | face | ||
) |