26 #ifndef NFD_DAEMON_TABLE_FIB_HPP 27 #define NFD_DAEMON_TABLE_FIB_HPP 32 #include <boost/range/adaptor/transformed.hpp> 36 namespace measurements {
47 class Fib : noncopyable
63 findLongestPrefixMatch(
const Name& prefix)
const;
70 findLongestPrefixMatch(
const pit::Entry& pitEntry)
const;
82 findExactMatch(
const Name& prefix);
87 static constexpr
size_t 97 std::pair<Entry*, bool>
98 insert(
const Name& prefix);
101 erase(
const Name& prefix);
104 erase(
const Entry& entry);
111 addOrUpdateNextHop(
Entry& entry,
Face& face, uint64_t cost);
122 removeNextHop(
Entry& entry,
const Face& face);
136 return this->getRange().begin();
145 return this->getRange().end();
158 findLongestPrefixMatchImpl(
const K& key)
const;
175 static const unique_ptr<Entry> s_emptyEntry;
184 #endif // NFD_DAEMON_TABLE_FIB_HPP
A common index structure for FIB, PIT, StrategyChoice, and Measurements.
Represents a Measurements entry.
signal::Signal< Fib, Name, NextHop > afterNewNextHop
signals on Fib entry nexthop creation
static constexpr size_t getMaxDepth()
Maximum depth of the name tree.
Represents the Forwarding Information Base (FIB)
boost::transformed_range< name_tree::GetTableEntry< Entry >, const name_tree::Range > Range
const_iterator begin() const
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
generalization of a network interface
static constexpr size_t getMaxDepth()
Maximum number of components in a FIB entry prefix.
An entry in the name tree.
boost::range_iterator< Range >::type const_iterator
const_iterator end() const
boost::iterator_range< Iterator > Range
a Forward Range of name tree entries