Represents an entry in the Interest table (PIT). More...
#include <daemon/table/pit-entry.hpp>
Public Member Functions | |
Entry (const Interest &interest) | |
bool | canMatch (const Interest &interest, size_t nEqualNameComps=0) const |
void | clearInRecords () noexcept |
Removes all in-records. More... | |
void | clearStrategyInfo () |
Clear all StrategyInfo items. More... | |
void | deleteInRecord (InRecordCollection::const_iterator pos) |
Removes the in-record at position pos . More... | |
void | deleteOutRecord (const Face &face) |
Delete the out-record for face if it exists. More... | |
template<typename T > | |
size_t | eraseStrategyInfo () |
Erase a StrategyInfo item. More... | |
InRecordCollection::iterator | findInRecord (const Face &face) noexcept |
Get the in-record for face . More... | |
OutRecordCollection::iterator | findOutRecord (const Face &face) noexcept |
Get the out-record for face . More... | |
const InRecordCollection & | getInRecords () const noexcept |
Returns the collection of in-records. More... | |
const Interest & | getInterest () const |
const Name & | getName () const |
const OutRecordCollection & | getOutRecords () const noexcept |
Returns the collection of out-records. More... | |
template<typename T > | |
T * | getStrategyInfo () const |
Get a StrategyInfo item. More... | |
bool | hasInRecords () const noexcept |
bool | hasOutRecords () const noexcept |
InRecordCollection::const_iterator | in_begin () const noexcept |
InRecordCollection::iterator | in_begin () noexcept |
InRecordCollection::const_iterator | in_end () const noexcept |
InRecordCollection::iterator | in_end () noexcept |
InRecordCollection::iterator | insertOrUpdateInRecord (Face &face, const Interest &interest) |
Insert or update an in-record. More... | |
OutRecordCollection::iterator | insertOrUpdateOutRecord (Face &face, const Interest &interest) |
Insert or update an out-record. More... | |
template<typename T , typename ... A> | |
std::pair< T *, bool > | insertStrategyInfo (A &&... args) |
Insert a StrategyInfo item. More... | |
OutRecordCollection::const_iterator | out_begin () const noexcept |
OutRecordCollection::iterator | out_begin () noexcept |
OutRecordCollection::const_iterator | out_end () const noexcept |
OutRecordCollection::iterator | out_end () noexcept |
Public Attributes | |
time::milliseconds | dataFreshnessPeriod = 0_ms |
Data freshness period. More... | |
ndn::scheduler::EventId | expiryTimer |
Expiry timer. More... | |
bool | isSatisfied = false |
Indicates whether this PIT entry is satisfied. More... | |
Represents an entry in the Interest table (PIT).
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 196 of file pit-entry.hpp.
|
explicit |
Definition at line 62 of file pit-entry.cpp.
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 68 of file pit-entry.cpp.
|
inlinenoexcept |
Removes all in-records.
Definition at line 301 of file pit-entry.hpp.
|
inlineinherited |
Clear all StrategyInfo items.
Definition at line 92 of file strategy-info-host.hpp.
|
inline |
Removes the in-record at position pos
.
pos | iterator to the in-record to remove; must be valid and dereferenceable. |
Definition at line 292 of file pit-entry.hpp.
void nfd::pit::Entry::deleteOutRecord | ( | const Face & | face | ) |
Delete the out-record for face
if it exists.
Definition at line 125 of file pit-entry.cpp.
|
inlineinherited |
Erase a StrategyInfo item.
T | type of StrategyInfo, must be a subclass of fw::StrategyInfo |
Definition at line 82 of file strategy-info-host.hpp.
|
noexcept |
Get the in-record for face
.
Definition at line 81 of file pit-entry.cpp.
|
noexcept |
Get the out-record for face
.
Definition at line 103 of file pit-entry.cpp.
|
inlinenoexcept |
Returns the collection of in-records.
Definition at line 233 of file pit-entry.hpp.
|
inline |
Definition at line 208 of file pit-entry.hpp.
|
inline |
Definition at line 216 of file pit-entry.hpp.
|
inlinenoexcept |
Returns the collection of out-records.
Definition at line 311 of file pit-entry.hpp.
|
inlineinherited |
Get a StrategyInfo item.
T | type of StrategyInfo, must be a subclass of fw::StrategyInfo |
Definition at line 46 of file strategy-info-host.hpp.
|
inlinenoexcept |
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 244 of file pit-entry.hpp.
|
inlinenoexcept |
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 323 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 256 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 250 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 268 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 262 of file pit-entry.hpp.
InRecordCollection::iterator nfd::pit::Entry::insertOrUpdateInRecord | ( | Face & | face, |
const Interest & | interest | ||
) |
Insert or update an in-record.
Definition at line 88 of file pit-entry.cpp.
OutRecordCollection::iterator nfd::pit::Entry::insertOrUpdateOutRecord | ( | Face & | face, |
const Interest & | interest | ||
) |
Insert or update an out-record.
Definition at line 110 of file pit-entry.cpp.
|
inlineinherited |
Insert a StrategyInfo item.
T | type of StrategyInfo, must be a subclass of fw::StrategyInfo |
Definition at line 64 of file strategy-info-host.hpp.
|
inlinenoexcept |
Definition at line 335 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 329 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 347 of file pit-entry.hpp.
|
inlinenoexcept |
Definition at line 341 of file pit-entry.hpp.
time::milliseconds nfd::pit::Entry::dataFreshnessPeriod = 0_ms |
Data freshness period.
Definition at line 386 of file pit-entry.hpp.
ndn::scheduler::EventId nfd::pit::Entry::expiryTimer |
Expiry timer.
This timer is used in forwarding pipelines to delete the entry
Definition at line 377 of file pit-entry.hpp.
bool nfd::pit::Entry::isSatisfied = false |
Indicates whether this PIT entry is satisfied.
Definition at line 381 of file pit-entry.hpp.