Stores a pending Interest and associated callbacks. More...
#include <pending-interest.hpp>
Public Member Functions | |
PendingInterest (shared_ptr< const Interest > interest, const DataCallback &dataCallback, const NackCallback &nackCallback, const TimeoutCallback &timeoutCallback, Scheduler &scheduler) | |
Construct a pending Interest record for an Interest from Face::expressInterest. More... | |
PendingInterest (shared_ptr< const Interest > interest, Scheduler &scheduler) | |
Construct a pending Interest record for an Interest from NFD. More... | |
shared_ptr< const Interest > | getInterest () const |
Get the Interest. More... | |
PendingInterestOrigin | getOrigin () const |
void | recordForwarding () |
Record that the Interest has been forwarded to one destination. More... | |
optional< lp::Nack > | recordNack (const lp::Nack &nack) |
Record an incoming Nack against a forwarded Interest. More... | |
void | invokeDataCallback (const Data &data) |
Invoke the Data callback. More... | |
void | invokeNackCallback (const lp::Nack &nack) |
Invoke the Nack callback. More... | |
void | setDeleter (const std::function< void()> &deleter) |
Set cleanup function to be invoked when Interest times out. More... | |
Stores a pending Interest and associated callbacks.
Definition at line 58 of file pending-interest.hpp.
|
inline |
Construct a pending Interest record for an Interest from Face::expressInterest.
The timeout is set based on the current time and InterestLifetime. This class will invoke the timeout callback unless the record is deleted before timeout.
interest | the Interest |
dataCallback | invoked when matching Data packet is received |
nackCallback | invoked when Nack matching Interest is received |
timeoutCallback | invoked when Interest times out |
scheduler | Scheduler for scheduling the timeout event |
Definition at line 73 of file pending-interest.hpp.
|
inline |
Construct a pending Interest record for an Interest from NFD.
interest | the Interest |
scheduler | Scheduler for scheduling the timeout event |
Definition at line 94 of file pending-interest.hpp.
|
inline |
Get the Interest.
Definition at line 106 of file pending-interest.hpp.
Referenced by ndn::InterestFilterRecord::doesMatch().
|
inline |
Definition at line 112 of file pending-interest.hpp.
Referenced by ndn::InterestFilterRecord::doesMatch().
|
inline |
Record that the Interest has been forwarded to one destination.
A "destination" could be either a local InterestFilter or the forwarder.
Definition at line 123 of file pending-interest.hpp.
Referenced by ndn::Face::Impl::dispatchInterest().
Record an incoming Nack against a forwarded Interest.
Definition at line 134 of file pending-interest.hpp.
References ndn::lp::Nack::getReason(), ndn::lp::isLessSevere(), and nonstd::optional_lite::nullopt.
|
inline |
Invoke the Data callback.
Definition at line 151 of file pending-interest.hpp.
|
inline |
Invoke the Nack callback.
Definition at line 163 of file pending-interest.hpp.
|
inline |
Set cleanup function to be invoked when Interest times out.
Definition at line 174 of file pending-interest.hpp.