26 #ifndef NFD_DAEMON_TABLE_MEASUREMENTS_HPP
27 #define NFD_DAEMON_TABLE_MEASUREMENTS_HPP
44 namespace measurements {
93 static constexpr
size_t
105 get(
const Name& name);
141 static time::nanoseconds
162 cleanup(
Entry& entry);
171 findLongestPrefixMatchImpl(
const K& key,
const EntryPredicate& pred)
const;
180 using measurements::Measurements;
T * getStrategyInfo() const
Get a StrategyInfo item.
Represents an entry in the FIB.
An EntryPredicate that accepts any entry.
constexpr bool operator()(const Entry &) const noexcept
Represents an entry in the Measurements table.
An EntryPredicate that accepts an entry if it has StrategyInfo of type T.
bool operator()(const Entry &entry) const
static constexpr size_t getMaxDepth()
Maximum depth of a Measurements entry.
Measurements(NameTree &nameTree)
void extendLifetime(Entry &entry, const time::nanoseconds &lifetime)
Extend lifetime of an entry.
Entry * getParent(const Entry &child)
Find or insert a parent entry.
Entry & get(const Name &name)
Find or insert an entry by name.
Entry * findExactMatch(const Name &name) const
Perform an exact match.
static time::nanoseconds getInitialLifetime()
Entry * findLongestPrefixMatch(const Name &name, const EntryPredicate &pred=AnyEntry()) const
Perform a longest prefix match for name.
An entry in the name tree.
A common index structure for FIB, PIT, StrategyChoice, and Measurements.
static constexpr size_t getMaxDepth()
Maximum depth of the name tree.
Represents an entry in the Interest table (PIT).
std::function< bool(const Entry &)> EntryPredicate
A predicate that accepts or rejects an entry.