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 the forwarder. More... | |
shared_ptr< const Interest > | getInterest () const |
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... | |
Public Member Functions inherited from ndn::detail::RecordBase< PendingInterest > | |
RecordId | getId () const |
Additional Inherited Members | |
Protected Member Functions inherited from ndn::detail::RecordBase< PendingInterest > | |
~RecordBase ()=default | |
void | deleteSelf () |
Delete this record from the container. 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.
Definition at line 67 of file pending-interest.hpp.
|
inline |
Construct a pending Interest record for an Interest from the forwarder.
Definition at line 82 of file pending-interest.hpp.
|
inline |
Definition at line 90 of file pending-interest.hpp.
Referenced by ndn::InterestFilterRecord::doesMatch(), ndn::Face::Impl::nackPendingInterests(), and ndn::Face::Impl::satisfyPendingInterests().
|
inline |
Definition at line 96 of file pending-interest.hpp.
Referenced by ndn::InterestFilterRecord::doesMatch(), ndn::Face::Impl::nackPendingInterests(), and ndn::Face::Impl::satisfyPendingInterests().
|
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 107 of file pending-interest.hpp.
Referenced by ndn::Face::Impl::shutdown().
Record an incoming Nack against a forwarded Interest.
Definition at line 118 of file pending-interest.hpp.
References ndn::lp::Nack::getReason(), ndn::lp::isLessSevere(), and nonstd::optional_lite::nullopt.
Referenced by ndn::Face::Impl::nackPendingInterests().
|
inline |
Invoke the Data callback.
Definition at line 135 of file pending-interest.hpp.
Referenced by ndn::Face::Impl::satisfyPendingInterests().
|
inline |
Invoke the Nack callback.
Definition at line 147 of file pending-interest.hpp.
References ndn::scheduler::Scheduler::schedule().
Referenced by ndn::Face::Impl::nackPendingInterests().