Best Route strategy version 1. More...
#include <best-route-strategy.hpp>
Public Member Functions | |
BestRouteStrategy (Forwarder &forwarder, const Name &name=getStrategyName()) | |
Public Member Functions inherited from nfd::fw::BestRouteStrategyBase | |
void | afterReceiveInterest (const Face &inFace, const Interest &interest, const shared_ptr< pit::Entry > &pitEntry) override |
trigger after Interest is received More... | |
Public Member Functions inherited from nfd::fw::Strategy | |
Strategy (Forwarder &forwarder) | |
construct a strategy instance More... | |
virtual | ~Strategy () |
const Name & | getInstanceName () const |
virtual void | beforeSatisfyInterest (const shared_ptr< pit::Entry > &pitEntry, const Face &inFace, const Data &data) |
trigger before PIT entry is satisfied More... | |
virtual void | afterContentStoreHit (const shared_ptr< pit::Entry > &pitEntry, const Face &inFace, const Data &data) |
trigger after a Data is matched in CS More... | |
virtual void | afterReceiveData (const shared_ptr< pit::Entry > &pitEntry, const Face &inFace, const Data &data) |
trigger after Data is received More... | |
virtual void | afterReceiveNack (const Face &inFace, const lp::Nack &nack, const shared_ptr< pit::Entry > &pitEntry) |
trigger after Nack is received More... | |
virtual void | onDroppedInterest (const Face &outFace, const Interest &interest) |
trigger after Interest dropped for exceeding allowed retransmissions More... | |
Static Public Member Functions | |
static const Name & | getStrategyName () |
Static Public Member Functions inherited from nfd::fw::Strategy | |
template<typename S > | |
static void | registerType (const Name &strategyName=S::getStrategyName()) |
register a strategy type More... | |
static bool | canCreate (const Name &instanceName) |
static unique_ptr< Strategy > | create (const Name &instanceName, Forwarder &forwarder) |
static bool | areSameType (const Name &instanceNameA, const Name &instanceNameB) |
static std::set< Name > | listRegistered () |
static const Name & | getStrategyName () |
Additional Inherited Members | |
Protected Member Functions inherited from nfd::fw::BestRouteStrategyBase | |
BestRouteStrategyBase (Forwarder &forwarder) | |
Protected Member Functions inherited from nfd::fw::Strategy | |
void | sendInterest (const shared_ptr< pit::Entry > &pitEntry, Face &outFace, const Interest &interest) |
send Interest to outFace More... | |
void | sendData (const shared_ptr< pit::Entry > &pitEntry, const Data &data, const Face &outFace) |
send data to outFace More... | |
void | sendDataToAll (const shared_ptr< pit::Entry > &pitEntry, const Face &inFace, const Data &data) |
send data to all matched and qualified faces More... | |
void | rejectPendingInterest (const shared_ptr< pit::Entry > &pitEntry) |
schedule the PIT entry for immediate deletion More... | |
void | sendNack (const shared_ptr< pit::Entry > &pitEntry, const Face &outFace, const lp::NackHeader &header) |
send Nack to outFace More... | |
void | sendNacks (const shared_ptr< pit::Entry > &pitEntry, const lp::NackHeader &header, std::initializer_list< const Face *> exceptFaces=std::initializer_list< const Face *>()) |
send Nack to every face that has an in-record, except those in exceptFaces More... | |
void | setExpiryTimer (const shared_ptr< pit::Entry > &pitEntry, time::milliseconds duration) |
Schedule the PIT entry to be erased after duration . More... | |
const fib::Entry & | lookupFib (const pit::Entry &pitEntry) const |
performs a FIB lookup, considering Link object if present More... | |
MeasurementsAccessor & | getMeasurements () |
Face * | getFace (FaceId id) const |
const FaceTable & | getFaceTable () const |
void | setInstanceName (const Name &name) |
set strategy instance name More... | |
Static Protected Member Functions inherited from nfd::fw::Strategy | |
static ParsedInstanceName | parseInstanceName (const Name &input) |
parse a strategy instance name More... | |
static Name | makeInstanceName (const Name &input, const Name &strategyName) |
construct a strategy instance name More... | |
Protected Attributes inherited from nfd::fw::Strategy | |
signal::Signal< FaceTable, Face & > & | afterAddFace |
signal::Signal< FaceTable, Face & > & | beforeRemoveFace |
Best Route strategy version 1.
This strategy forwards a new Interest to the lowest-cost nexthop that is not same as the downstream, and does not violate scope. Subsequent similar Interests or consumer retransmissions are suppressed until after InterestLifetime expiry.
Definition at line 56 of file best-route-strategy.hpp.
|
explicit |
Definition at line 63 of file best-route-strategy.cpp.
References getStrategyName(), nfd::fw::Strategy::makeInstanceName(), nfd::fw::Strategy::ParsedInstanceName::parameters, nfd::fw::Strategy::parseInstanceName(), nfd::fw::Strategy::setInstanceName(), ndn::to_string(), and nfd::fw::Strategy::ParsedInstanceName::version.
|
static |
Definition at line 78 of file best-route-strategy.cpp.
Referenced by BestRouteStrategy().