Best route strategy. More...
#include <best-route.h>
Classes | |
class | PerOutFaceLimits |
Strategy implementing per-out-face limits on top of BestRoute strategy. More... | |
Public Member Functions | |
BestRoute () | |
Default constructor. | |
virtual bool | DoPropagateInterest (Ptr< Face > incomingFace, Ptr< const Interest > interest, Ptr< pit::Entry > pitEntry) |
Virtual method to perform Interest propagation according to the forwarding strategy logic. More... | |
Public Member Functions inherited from ns3::ndn::fw::Nacks | |
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 | 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 std::string | GetLogName () |
Helper function to retrieve logging name for the forwarding strategy. | |
Static Public Member Functions inherited from ns3::ndn::fw::GreenYellowRed | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::ndn::fw::Nacks | |
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. | |
Static Protected Attributes | |
static LogComponent | g_log = LogComponent (BestRoute::GetLogName ().c_str ()) |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ndn::fw::GreenYellowRed | |
virtual void | WillSatisfyPendingInterest (Ptr< Face > inFace, Ptr< pit::Entry > pitEntry) |
Even fired just before Interest will be satisfied. More... | |
virtual void | WillEraseTimedOutPendingInterest (Ptr< pit::Entry > pitEntry) |
Event fired just before PIT entry is removed by timeout. More... | |
virtual void | DidReceiveValidNack (Ptr< Face > incomingFace, uint32_t nackCode, Ptr< const Interest > nack, Ptr< pit::Entry > pitEntry) |
Protected Member Functions inherited from ns3::ndn::fw::Nacks | |
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) |
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 | 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 void | NotifyNewAggregate () |
Even when object is aggregated to another Object. | |
virtual void | DoDispose () |
Do cleanup. | |
Protected Attributes inherited from ns3::ndn::fw::Nacks | |
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 |
Best route strategy.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 37 of file best-route.h.
|
virtual |
Virtual method to perform Interest propagation according to the forwarding strategy logic.
In most cases, this is the call that needs to be implemented/re-implemented in order to perform forwarding of Interests according to the desired logic.
There is also PropagateInterest method (generally, do not require to be overriden) which performs general tasks (adding face to the list of incoming face, updating PIT entry lifetime, calling DoPropagateInterest, as well as perform retransmissions (enabled by default).
inFace | incoming face |
interest | Interest packet |
pitEntry | reference to PIT entry (reference to corresponding FIB entry inside) |
Reimplemented from ns3::ndn::fw::GreenYellowRed.
Definition at line 67 of file best-route.cc.
References ns3::ndn::fib::FaceMetric::GetFace(), ns3::ndn::fib::FaceMetric::GetStatus(), and ns3::ndn::ForwardingStrategy::TrySendOutInterest().