Implementation of experimental NACK messages (enables with EnableNACKs option) More...
#include <nacks.h>
Public Member Functions | |
virtual void | OnInterest (Ptr< Face > face, Ptr< Interest > interest) |
Actual processing of incoming Ndn interests. More... | |
Public Member Functions inherited from ns3::ndn::ForwardingStrategy | |
ForwardingStrategy () | |
Default constructor. | |
virtual void | OnData (Ptr< Face > face, Ptr< Data > data) |
Actual processing of incoming Ndn content objects. More... | |
virtual void | WillEraseTimedOutPendingInterest (Ptr< pit::Entry > pitEntry) |
Event fired just before PIT entry is removed by timeout. More... | |
virtual void | AddFace (Ptr< Face > face) |
Event fired every time face is added to NDN stack. More... | |
virtual void | RemoveFace (Ptr< Face > face) |
Event fired every time face is removed from NDN stack. More... | |
virtual void | DidAddFibEntry (Ptr< fib::Entry > fibEntry) |
Event fired every time a FIB entry is added to FIB. More... | |
virtual void | WillRemoveFibEntry (Ptr< fib::Entry > fibEntry) |
Fired just before FIB entry will be removed from FIB. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Static Public Member Functions inherited from ns3::ndn::ForwardingStrategy | |
static TypeId | GetTypeId () |
static std::string | GetLogName () |
Helper function to retrieve logging name for the forwarding strategy. | |
Protected Member Functions | |
virtual void | DidReceiveDuplicateInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
An event that is fired every time a duplicated Interest is received. More... | |
virtual void | DidExhaustForwardingOptions (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
An even that is fired when Interest cannot be forwarded. More... | |
virtual void | OnNack (Ptr< Face > inFace, Ptr< Interest > nack) |
virtual void | DidReceiveValidNack (Ptr< Face > inFace, uint32_t nackCode, Ptr< const Interest > nack, Ptr< pit::Entry > pitEntry) |
Protected Member Functions inherited from ns3::ndn::ForwardingStrategy | |
virtual void | DidCreatePitEntry (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
An event that is fired every time a new PIT entry is created. More... | |
virtual void | FailedToCreatePitEntry (Ptr< Face > inFace, Ptr< const Interest > interest) |
An event that is fired every time a new PIT entry cannot be created (e.g., PIT container imposes a limit) More... | |
virtual void | DidSuppressSimilarInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
An event that is fired every time when a similar Interest is received and suppressed (collapsed) More... | |
virtual void | DidForwardSimilarInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
An event that is fired every time when a similar Interest is received and further forwarded (not suppressed/collapsed) More... | |
virtual bool | DetectRetransmittedInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Method that implements logic to distinguish between new and retransmitted interest. More... | |
virtual void | WillSatisfyPendingInterest (Ptr< Face > inFace, Ptr< pit::Entry > pitEntry) |
Even fired just before Interest will be satisfied. More... | |
virtual void | SatisfyPendingInterest (Ptr< Face > inFace, Ptr< const Data > data, Ptr< pit::Entry > pitEntry) |
Actual procedure to satisfy Interest. More... | |
virtual void | DidSendOutData (Ptr< Face > inFace, Ptr< Face > outFace, Ptr< const Data > data, Ptr< pit::Entry > pitEntry) |
Event which is fired just after data was send out on the face. More... | |
virtual void | DidReceiveSolicitedData (Ptr< Face > inFace, Ptr< const Data > data, bool didCreateCacheEntry) |
Event which is fired every time a requested (solicited) DATA packet (there is an active PIT entry) is received. More... | |
virtual void | DidReceiveUnsolicitedData (Ptr< Face > inFace, Ptr< const Data > data, bool didCreateCacheEntry) |
Event which is fired every time an unsolicited DATA packet (no active PIT entry) is received. More... | |
virtual bool | ShouldSuppressIncomingInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Method implementing logic to suppress (collapse) similar Interests. More... | |
virtual bool | CanSendOutInterest (Ptr< Face > inFace, Ptr< Face > outFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Method to check whether Interest can be send out on the particular face or not. More... | |
virtual bool | TrySendOutInterest (Ptr< Face > inFace, Ptr< Face > outFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Method implementing actual interest forwarding, taking into account CanSendOutInterest decision. More... | |
virtual void | DidSendOutInterest (Ptr< Face > inFace, Ptr< Face > outFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Event fired just after forwarding the Interest. More... | |
virtual void | PropagateInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Wrapper method, which performs general tasks and calls DoPropagateInterest method. More... | |
virtual bool | DoPropagateInterest (Ptr< Face > inFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry)=0 |
Virtual method to perform Interest propagation according to the forwarding strategy logic. More... | |
virtual void | NotifyNewAggregate () |
Even when object is aggregated to another Object. | |
virtual void | DoDispose () |
Do cleanup. | |
Protected Attributes | |
bool | m_nacksEnabled |
TracedCallback< Ptr< const Interest >, Ptr< const Face > > | m_outNacks |
trace of outgoing NACKs | |
TracedCallback< Ptr< const Interest >, Ptr< const Face > > | m_inNacks |
trace of incoming NACKs | |
TracedCallback< Ptr< const Interest >, Ptr< const Face > > | m_dropNacks |
trace of dropped NACKs | |
Protected Attributes inherited from ns3::ndn::ForwardingStrategy | |
Ptr< Pit > | m_pit |
Reference to PIT to which this forwarding strategy is associated. | |
Ptr< Fib > | m_fib |
FIB. | |
Ptr< ContentStore > | m_contentStore |
Content store (for caching purposes only) | |
bool | m_cacheUnsolicitedDataFromApps |
bool | m_cacheUnsolicitedData |
bool | m_detectRetransmissions |
TracedCallback< Ptr< const Interest >, Ptr< const Face > > | m_outInterests |
Transmitted interests trace. | |
TracedCallback< Ptr< const Interest >, Ptr< const Face > > | m_inInterests |
trace of incoming Interests | |
TracedCallback< Ptr< const Interest >, Ptr< const Face > > | m_dropInterests |
trace of dropped Interests | |
TracedCallback< Ptr< const Data >, bool, Ptr< const Face > > | m_outData |
trace of outgoing Data | |
TracedCallback< Ptr< const Data >, Ptr< const Face > > | m_inData |
trace of incoming Data | |
TracedCallback< Ptr< const Data >, Ptr< const Face > > | m_dropData |
trace of dropped Data | |
TracedCallback< Ptr< const pit::Entry > > | m_satisfiedInterests |
TracedCallback< Ptr< const pit::Entry > > | m_timedOutInterests |
Implementation of experimental NACK messages (enables with EnableNACKs option)
Doxygen introspection did not find any typical Config paths.
|
protectedvirtual |
An even that is fired when Interest cannot be forwarded.
Note that the event will not fire if retransmission detection is enabled (by default) and retransmitted Interest cannot by forwarded. For more details, refer to the implementation.
inFace | incoming face |
interest | Interest header |
pitEntry | an existing PIT entry, corresponding to the duplicated Interest |
Reimplemented from ns3::ndn::ForwardingStrategy.
Definition at line 123 of file nacks.cc.
References ns3::ndn::ForwardingStrategy::DidExhaustForwardingOptions(), ns3::ndn::pit::IncomingFace::m_face, and m_outNacks.
|
protectedvirtual |
An event that is fired every time a duplicated Interest is received.
This even is the last action that is performed before the Interest processing is halted
inFace | incoming face |
interest | Interest packet |
pitEntry | an existing PIT entry, corresponding to the duplicated Interest |
Reimplemented from ns3::ndn::ForwardingStrategy.
Definition at line 105 of file nacks.cc.
References ns3::ndn::ForwardingStrategy::DidReceiveDuplicateInterest(), and m_outNacks.
Actual processing of incoming Ndn interests.
Note, interests do not have payload
Processing Interest packets
face | incoming face |
interest | Interest packet |
Reimplemented from ns3::ndn::ForwardingStrategy.
Definition at line 77 of file nacks.cc.
References ns3::ndn::ForwardingStrategy::OnInterest().