an Interest table entry More...
#include <pit-entry.hpp>
Public Member Functions | |
Entry (const Interest &interest) | |
const Interest & | getInterest () const |
const Name & | getName () const |
bool | canMatch (const Interest &interest, size_t nEqualNameComps=0) const |
const InRecordCollection & | getInRecords () const |
bool | hasInRecords () const |
InRecordCollection::iterator | in_begin () |
InRecordCollection::const_iterator | in_begin () const |
InRecordCollection::iterator | in_end () |
InRecordCollection::const_iterator | in_end () const |
InRecordCollection::iterator | getInRecord (const Face &face) |
get the in-record for face More... | |
InRecordCollection::iterator | insertOrUpdateInRecord (Face &face, const Interest &interest) |
insert or update an in-record More... | |
void | deleteInRecord (const Face &face) |
delete the in-record for face if it exists More... | |
void | clearInRecords () |
delete all in-records More... | |
const OutRecordCollection & | getOutRecords () const |
bool | hasOutRecords () const |
OutRecordCollection::iterator | out_begin () |
OutRecordCollection::const_iterator | out_begin () const |
OutRecordCollection::iterator | out_end () |
OutRecordCollection::const_iterator | out_end () const |
OutRecordCollection::iterator | getOutRecord (const Face &face) |
get the out-record for face More... | |
OutRecordCollection::iterator | insertOrUpdateOutRecord (Face &face, const Interest &interest) |
insert or update an out-record More... | |
void | deleteOutRecord (const Face &face) |
delete the out-record for face if it exists More... | |
Public Member Functions inherited from nfd::StrategyInfoHost | |
template<typename T > | |
T * | getStrategyInfo () const |
get a StrategyInfo item More... | |
template<typename T , typename ... A> | |
std::pair< T *, bool > | insertStrategyInfo (A &&... args) |
insert a StrategyInfo item More... | |
template<typename T > | |
size_t | eraseStrategyInfo () |
erase a StrategyInfo item More... | |
void | clearStrategyInfo () |
clear all StrategyInfo items More... | |
Public Attributes | |
scheduler::EventId | expiryTimer |
expiry timer More... | |
bool | isSatisfied |
indicate if PIT entry is satisfied More... | |
time::milliseconds | dataFreshnessPeriod |
Data freshness period. More... | |
Friends | |
class | name_tree::Entry |
an Interest table entry
An Interest table entry represents either a pending Interest or a recently satisfied Interest. Each entry contains a collection of in-records, a collection of out-records, and two timers used in forwarding pipelines. In addition, the entry, in-records, and out-records are subclasses of StrategyInfoHost, which allows forwarding strategy to store arbitrary information on them.
Definition at line 59 of file pit-entry.hpp.
|
explicit |
Definition at line 32 of file pit-entry.cpp.
|
inline |
Definition at line 71 of file pit-entry.hpp.
Referenced by nfd::fw::Strategy::lookupFib().
|
inline |
Definition at line 79 of file pit-entry.hpp.
Referenced by nfd::measurements::Measurements::findLongestPrefixMatch(), nfd::name_tree::NameTree::findLongestPrefixMatch(), and nfd::name_tree::NameTree::lookup().
bool nfd::pit::Entry::canMatch | ( | const Interest & | interest, |
size_t | nEqualNameComps = 0 |
||
) | const |
interest | the Interest |
nEqualNameComps | number of initial name components guaranteed to be equal |
Definition at line 41 of file pit-entry.cpp.
References ndn::Interest::getName(), ndn::Interest::getSelectors(), and ndn::Name::npos.
Referenced by insertOrUpdateInRecord(), and insertOrUpdateOutRecord().
|
inline |
Definition at line 95 of file pit-entry.hpp.
Referenced by nfd::fw::findDuplicateNonce(), ns3::ndn::L3RateTracer::SatisfiedInterests(), and ns3::ndn::L3RateTracer::TimedOutInterests().
|
inline |
true | There is at least one in-record. This implies some downstream is waiting for Data or Nack. |
false | There is no in-record. This implies the entry is new or has been satisfied or Nacked. |
Definition at line 106 of file pit-entry.hpp.
|
inline |
Definition at line 112 of file pit-entry.hpp.
Referenced by nfd::fw::canForwardToLegacy().
|
inline |
Definition at line 118 of file pit-entry.hpp.
|
inline |
Definition at line 124 of file pit-entry.hpp.
Referenced by nfd::fw::canForwardToLegacy().
|
inline |
Definition at line 130 of file pit-entry.hpp.
InRecordCollection::iterator nfd::pit::Entry::getInRecord | ( | const Face & | face | ) |
get the in-record for face
Definition at line 53 of file pit-entry.cpp.
InRecordCollection::iterator nfd::pit::Entry::insertOrUpdateInRecord | ( | Face & | face, |
const Interest & | interest | ||
) |
insert or update an in-record
Definition at line 60 of file pit-entry.cpp.
References canMatch().
void nfd::pit::Entry::deleteInRecord | ( | const Face & | face | ) |
delete the in-record for face
if it exists
Definition at line 76 of file pit-entry.cpp.
Referenced by nfd::pit::Pit::deleteInOutRecords().
void nfd::pit::Entry::clearInRecords | ( | ) |
delete all in-records
Definition at line 86 of file pit-entry.cpp.
|
inline |
Definition at line 161 of file pit-entry.hpp.
Referenced by nfd::fw::findDuplicateNonce(), ns3::ndn::L3RateTracer::SatisfiedInterests(), and ns3::ndn::L3RateTracer::TimedOutInterests().
|
inline |
true | There is at least one out-record. This implies the Interest has been forwarded to some upstream, and they haven't returned Data, but may have returned Nacks. |
false | There is no out-record. This implies the Interest has not been forwarded. |
Definition at line 173 of file pit-entry.hpp.
|
inline |
Definition at line 179 of file pit-entry.hpp.
Referenced by nfd::fw::canForwardToLegacy(), nfd::fw::getLastOutgoing(), and nfd::fw::hasPendingOutRecords().
|
inline |
Definition at line 185 of file pit-entry.hpp.
|
inline |
Definition at line 191 of file pit-entry.hpp.
Referenced by nfd::fw::canForwardToLegacy(), nfd::fw::RetxSuppressionExponential::decidePerUpstream(), nfd::fw::getLastOutgoing(), and nfd::fw::hasPendingOutRecords().
|
inline |
Definition at line 197 of file pit-entry.hpp.
OutRecordCollection::iterator nfd::pit::Entry::getOutRecord | ( | const Face & | face | ) |
get the out-record for face
Definition at line 92 of file pit-entry.cpp.
Referenced by nfd::fw::RetxSuppressionExponential::decidePerUpstream().
OutRecordCollection::iterator nfd::pit::Entry::insertOrUpdateOutRecord | ( | Face & | face, |
const Interest & | interest | ||
) |
insert or update an out-record
Definition at line 99 of file pit-entry.cpp.
References canMatch().
void nfd::pit::Entry::deleteOutRecord | ( | const Face & | face | ) |
delete the out-record for face
if it exists
Definition at line 115 of file pit-entry.cpp.
Referenced by nfd::pit::Pit::deleteInOutRecords().
|
friend |
Definition at line 242 of file pit-entry.hpp.
scheduler::EventId nfd::pit::Entry::expiryTimer |
expiry timer
This timer is used in forwarding pipelines to delete the entry
Definition at line 224 of file pit-entry.hpp.
bool nfd::pit::Entry::isSatisfied |
indicate if PIT entry is satisfied
Definition at line 228 of file pit-entry.hpp.
time::milliseconds nfd::pit::Entry::dataFreshnessPeriod |
Data freshness period.
Definition at line 233 of file pit-entry.hpp.