nfd::measurements::MeasurementsAccessor Class Reference

Allows fw::Strategy to access the portion of Measurements table under its namespace. More...

#include <daemon/table/measurements-accessor.hpp>

+ Inheritance diagram for nfd::measurements::MeasurementsAccessor:
+ Collaboration diagram for nfd::measurements::MeasurementsAccessor:

Public Member Functions

 MeasurementsAccessor (Measurements &measurements, const StrategyChoice &strategyChoice, const fw::Strategy &strategy)
 
 ~MeasurementsAccessor ()
 
void extendLifetime (Entry &entry, const time::nanoseconds &lifetime)
 Extend lifetime of an entry. More...
 
EntryfindExactMatch (const Name &name) const
 Perform an exact match. More...
 
EntryfindLongestPrefixMatch (const Name &name, const EntryPredicate &pred=AnyEntry()) const
 Perform a longest prefix match for name. More...
 
EntryfindLongestPrefixMatch (const pit::Entry &pitEntry, const EntryPredicate &pred=AnyEntry()) const
 Perform a longest prefix match for pitEntry.getName(). More...
 
Entryget (const fib::Entry &fibEntry)
 Find or insert a Measurements entry for fibEntry->getPrefix(). More...
 
Entryget (const Name &name)
 Find or insert a Measurements entry for name. More...
 
Entryget (const pit::Entry &pitEntry)
 Find or insert a Measurements entry for pitEntry->getName(). More...
 
EntrygetParent (const Entry &child)
 Find or insert a Measurements entry for child's parent. More...
 

Detailed Description

Allows fw::Strategy to access the portion of Measurements table under its namespace.

All public methods have the same semantics as the corresponding methods on Measurements, but will return nullptr if the entry falls out of the strategy's authority.

Definition at line 46 of file measurements-accessor.hpp.

Constructor & Destructor Documentation

◆ MeasurementsAccessor()

nfd::measurements::MeasurementsAccessor::MeasurementsAccessor ( Measurements measurements,
const StrategyChoice strategyChoice,
const fw::Strategy strategy 
)

Definition at line 30 of file measurements-accessor.cpp.

◆ ~MeasurementsAccessor()

nfd::measurements::MeasurementsAccessor::~MeasurementsAccessor ( )

Definition at line 39 of file measurements-accessor.cpp.

Member Function Documentation

◆ extendLifetime()

void nfd::measurements::MeasurementsAccessor::extendLifetime ( Entry entry,
const time::nanoseconds &  lifetime 
)
inline

Extend lifetime of an entry.

The entry will be kept until at least now()+lifetime.

Definition at line 165 of file measurements-accessor.hpp.

◆ findExactMatch()

Entry * nfd::measurements::MeasurementsAccessor::findExactMatch ( const Name &  name) const
inline

Perform an exact match.

Definition at line 159 of file measurements-accessor.hpp.

◆ findLongestPrefixMatch() [1/2]

Entry * nfd::measurements::MeasurementsAccessor::findLongestPrefixMatch ( const Name &  name,
const EntryPredicate pred = AnyEntry() 
) const
inline

Perform a longest prefix match for name.

Definition at line 145 of file measurements-accessor.hpp.

◆ findLongestPrefixMatch() [2/2]

Entry * nfd::measurements::MeasurementsAccessor::findLongestPrefixMatch ( const pit::Entry pitEntry,
const EntryPredicate pred = AnyEntry() 
) const
inline

Perform a longest prefix match for pitEntry.getName().

Definition at line 152 of file measurements-accessor.hpp.

◆ get() [1/3]

Entry * nfd::measurements::MeasurementsAccessor::get ( const fib::Entry fibEntry)
inline

Find or insert a Measurements entry for fibEntry->getPrefix().

Definition at line 127 of file measurements-accessor.hpp.

◆ get() [2/3]

Entry * nfd::measurements::MeasurementsAccessor::get ( const Name &  name)
inline

Find or insert a Measurements entry for name.

Definition at line 121 of file measurements-accessor.hpp.

◆ get() [3/3]

Entry * nfd::measurements::MeasurementsAccessor::get ( const pit::Entry pitEntry)
inline

Find or insert a Measurements entry for pitEntry->getName().

Definition at line 133 of file measurements-accessor.hpp.

◆ getParent()

Entry * nfd::measurements::MeasurementsAccessor::getParent ( const Entry child)
inline

Find or insert a Measurements entry for child's parent.

Definition at line 139 of file measurements-accessor.hpp.