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
51 Fib(NameTree& nameTree);
63 findLongestPrefixMatch(
const Name& prefix)
const;
70 findLongestPrefixMatch(
const pit::Entry& pitEntry)
const;
82 findExactMatch(
const Name& prefix);
87 static constexpr
size_t 90 return NameTree::getMaxDepth();
97 std::pair<Entry*, bool>
98 insert(
const Name& prefix);
101 erase(
const Name& prefix);
104 erase(
const Entry& entry);
114 removeNextHopByFace(
Entry& entry,
const Face& face);
128 return this->getRange().begin();
137 return this->getRange().end();
145 findLongestPrefixMatchImpl(
const K& key)
const;
153 eraseIfEmpty(
Entry& entry);
159 NameTree& m_nameTree;
167 static const unique_ptr<Entry> s_emptyEntry;
176 #endif // NFD_DAEMON_TABLE_FIB_HPP
Represents a Measurements entry.
Represents the Forwarding Information Base (FIB)
boost::transformed_range< name_tree::GetTableEntry< Entry >, const name_tree::Range > Range
uint64_t EndpointId
identifies an endpoint on the link
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
const_iterator begin() const
static constexpr size_t getMaxDepth()
Maximum number of components in a FIB entry prefix.
const_iterator end() const
An entry in the name tree.
boost::range_iterator< Range >::type const_iterator
boost::iterator_range< Iterator > Range
a Forward Range of name tree entries