nfd::pit::OutRecord Class Reference

contains information about an Interest toward an outgoing face More...

#include <daemon/table/pit-out-record.hpp>

+ Inheritance diagram for nfd::pit::OutRecord:
+ Collaboration diagram for nfd::pit::OutRecord:

Public Member Functions

 OutRecord (Face &face)
 
void clearIncomingNack ()
 clears last NACK More...
 
void clearStrategyInfo ()
 clear all StrategyInfo items More...
 
template<typename T >
size_t eraseStrategyInfo ()
 erase a StrategyInfo item More...
 
time::steady_clock::TimePoint getExpiry () const
 gives the time point this record expires More...
 
Face & getFace () const
 
const lp::NackHeader * getIncomingNack () const
 
uint32_t getLastNonce () const
 
time::steady_clock::TimePoint getLastRenewed () const
 
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...
 
bool setIncomingNack (const lp::Nack &nack)
 sets a NACK received from getFace() More...
 
void update (const Interest &interest)
 updates lastNonce, lastRenewed, expiry fields More...
 

Detailed Description

contains information about an Interest toward an outgoing face

Definition at line 36 of file pit-out-record.hpp.

Constructor & Destructor Documentation

nfd::pit::OutRecord::OutRecord ( Face &  face)
explicit

Definition at line 31 of file pit-out-record.cpp.

Member Function Documentation

void nfd::pit::OutRecord::clearIncomingNack ( )
inline

clears last NACK

This is invoked in outgoing Interest pipeline. This invalidates any pointer previously returned by .getIncomingNack() .

Definition at line 70 of file pit-out-record.hpp.

void nfd::StrategyInfoHost::clearStrategyInfo ( )
inherited

clear all StrategyInfo items

Definition at line 31 of file strategy-info-host.cpp.

template<typename T >
size_t nfd::StrategyInfoHost::eraseStrategyInfo ( )
inlineinherited

erase a StrategyInfo item

Template Parameters
Ttype of StrategyInfo, must be a subclass of fw::StrategyInfo
Returns
number of items erased

Definition at line 82 of file strategy-info-host.hpp.

time::steady_clock::TimePoint nfd::pit::FaceRecord::getExpiry ( ) const
inlineinherited

gives the time point this record expires

Returns
getLastRenewed() + InterestLifetime

Definition at line 92 of file pit-face-record.hpp.

Face & nfd::pit::FaceRecord::getFace ( ) const
inlineinherited

Definition at line 74 of file pit-face-record.hpp.

const lp::NackHeader* nfd::pit::OutRecord::getIncomingNack ( ) const
inline
Returns
last NACK returned by getFace()

A nullptr return value means the Interest is still pending or has timed out. A non-null return value means the last outgoing Interest has been NACKed.

Definition at line 48 of file pit-out-record.hpp.

uint32_t nfd::pit::FaceRecord::getLastNonce ( ) const
inlineinherited

Definition at line 80 of file pit-face-record.hpp.

time::steady_clock::TimePoint nfd::pit::FaceRecord::getLastRenewed ( ) const
inlineinherited

Definition at line 86 of file pit-face-record.hpp.

template<typename T >
T* nfd::StrategyInfoHost::getStrategyInfo ( ) const
inlineinherited

get a StrategyInfo item

Template Parameters
Ttype of StrategyInfo, must be a subclass of fw::StrategyInfo
Returns
an existing StrategyInfo item of type T, or nullptr if it does not exist

Definition at line 44 of file strategy-info-host.hpp.

template<typename T , typename... A>
std::pair<T*, bool> nfd::StrategyInfoHost::insertStrategyInfo ( A &&...  args)
inlineinherited

insert a StrategyInfo item

Template Parameters
Ttype of StrategyInfo, must be a subclass of fw::StrategyInfo
Returns
a new or existing StrategyInfo item of type T, and true for new item, false for existing item

Definition at line 63 of file strategy-info-host.hpp.

bool nfd::pit::OutRecord::setIncomingNack ( const lp::Nack &  nack)

sets a NACK received from getFace()

Returns
whether incoming NACK is accepted

This is invoked in incoming NACK pipeline. An incoming NACK is accepted if its Nonce matches getLastNonce(). If accepted, nack.getHeader() will be copied, and any pointer previously returned by .getIncomingNack() .

Definition at line 37 of file pit-out-record.cpp.

void nfd::pit::FaceRecord::update ( const Interest &  interest)
inherited

updates lastNonce, lastRenewed, expiry fields

Definition at line 40 of file pit-face-record.cpp.