An Interest table entry. More...
#include <daemon/table/pit-entry.hpp>
Inheritance diagram for nfd::pit::Entry:
Collaboration diagram for nfd::pit::Entry:Public Member Functions | |
| Entry (const Interest &interest) | |
| bool | canMatch (const Interest &interest, size_t nEqualNameComps=0) const |
| void | clearInRecords () |
| delete all in-records More... | |
| void | clearStrategyInfo () |
| Clear all StrategyInfo items. More... | |
| void | deleteInOutRecordsByFace (const Face &face) |
delete all in-records and out-records for face if it exists More... | |
| void | deleteInRecord (const Face &face, EndpointId endpointId) |
delete the in-record for face and endpointId if it exists More... | |
| void | deleteOutRecord (const Face &face, EndpointId endpointId) |
delete the out-record for face and endpointId if it exists More... | |
| template<typename T > | |
| size_t | eraseStrategyInfo () |
| Erase a StrategyInfo item. More... | |
| InRecordCollection::iterator | getInRecord (const Face &face, EndpointId endpointId) |
get the in-record for face and endpointId More... | |
| const InRecordCollection & | getInRecords () const |
| const Interest & | getInterest () const |
| const Name & | getName () const |
| OutRecordCollection::iterator | getOutRecord (const Face &face, EndpointId endpointId) |
get the out-record for face and endpointId More... | |
| const OutRecordCollection & | getOutRecords () const |
| template<typename T > | |
| T * | getStrategyInfo () const |
| Get a StrategyInfo item. More... | |
| bool | hasInRecords () const |
| bool | hasOutRecords () const |
| InRecordCollection::iterator | in_begin () |
| InRecordCollection::const_iterator | in_begin () const |
| InRecordCollection::iterator | in_end () |
| InRecordCollection::const_iterator | in_end () const |
| InRecordCollection::iterator | insertOrUpdateInRecord (Face &face, EndpointId endpointId, const Interest &interest) |
| insert or update an in-record More... | |
| OutRecordCollection::iterator | insertOrUpdateOutRecord (Face &face, EndpointId endpointId, 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::iterator | out_begin () |
| OutRecordCollection::const_iterator | out_begin () const |
| OutRecordCollection::iterator | out_end () |
| OutRecordCollection::const_iterator | out_end () const |
Public Attributes | |
| time::milliseconds | dataFreshnessPeriod = 0_ms |
| Data freshness period. More... | |
| scheduler::EventId | expiryTimer |
| Expiry timer. More... | |
| bool | isSatisfied = false |
| Indicates whether this PIT entry is satisfied. 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 58 of file pit-entry.hpp.
|
explicit |
Definition at line 33 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 39 of file pit-entry.cpp.
| void nfd::pit::Entry::clearInRecords | ( | ) |
delete all in-records
Definition at line 90 of file pit-entry.cpp.
|
inlineinherited |
Clear all StrategyInfo items.
Definition at line 93 of file strategy-info-host.hpp.
| void nfd::pit::Entry::deleteInOutRecordsByFace | ( | const Face & | face | ) |
delete all in-records and out-records for face if it exists
Definition at line 135 of file pit-entry.cpp.
| void nfd::pit::Entry::deleteInRecord | ( | const Face & | face, |
| EndpointId | endpointId | ||
| ) |
delete the in-record for face and endpointId if it exists
Definition at line 78 of file pit-entry.cpp.
| void nfd::pit::Entry::deleteOutRecord | ( | const Face & | face, |
| EndpointId | endpointId | ||
| ) |
delete the out-record for face and endpointId if it exists
Definition at line 123 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.
| InRecordCollection::iterator nfd::pit::Entry::getInRecord | ( | const Face & | face, |
| EndpointId | endpointId | ||
| ) |
get the in-record for face and endpointId
Definition at line 51 of file pit-entry.cpp.
|
inline |
Definition at line 94 of file pit-entry.hpp.
|
inline |
Definition at line 70 of file pit-entry.hpp.
|
inline |
Definition at line 78 of file pit-entry.hpp.
| OutRecordCollection::iterator nfd::pit::Entry::getOutRecord | ( | const Face & | face, |
| EndpointId | endpointId | ||
| ) |
get the out-record for face and endpointId
Definition at line 96 of file pit-entry.cpp.
|
inline |
Definition at line 160 of file pit-entry.hpp.
|
inlineinherited |
Get a StrategyInfo item.
| T | type of StrategyInfo, must be a subclass of fw::StrategyInfo |
Definition at line 44 of file strategy-info-host.hpp.
|
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 105 of file pit-entry.hpp.
|
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 172 of file pit-entry.hpp.
|
inline |
Definition at line 111 of file pit-entry.hpp.
|
inline |
Definition at line 117 of file pit-entry.hpp.
|
inline |
Definition at line 123 of file pit-entry.hpp.
|
inline |
Definition at line 129 of file pit-entry.hpp.
| InRecordCollection::iterator nfd::pit::Entry::insertOrUpdateInRecord | ( | Face & | face, |
| EndpointId | endpointId, | ||
| const Interest & | interest | ||
| ) |
insert or update an in-record
Definition at line 60 of file pit-entry.cpp.
| OutRecordCollection::iterator nfd::pit::Entry::insertOrUpdateOutRecord | ( | Face & | face, |
| EndpointId | endpointId, | ||
| const Interest & | interest | ||
| ) |
insert or update an out-record
Definition at line 105 of file pit-entry.cpp.
|
inlineinherited |
Insert a StrategyInfo item.
| T | type of StrategyInfo, must be a subclass of fw::StrategyInfo |
Definition at line 63 of file strategy-info-host.hpp.
|
inline |
Definition at line 178 of file pit-entry.hpp.
|
inline |
Definition at line 184 of file pit-entry.hpp.
|
inline |
Definition at line 190 of file pit-entry.hpp.
|
inline |
Definition at line 196 of file pit-entry.hpp.
|
friend |
Definition at line 247 of file pit-entry.hpp.
| time::milliseconds nfd::pit::Entry::dataFreshnessPeriod = 0_ms |
Data freshness period.
Definition at line 238 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 229 of file pit-entry.hpp.
| bool nfd::pit::Entry::isSatisfied = false |
Indicates whether this PIT entry is satisfied.
Definition at line 233 of file pit-entry.hpp.