#include <best-route-strategy.hpp>


Public Member Functions | |
| 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 | beforeExpirePendingInterest (const shared_ptr< pit::Entry > &pitEntry) |
| trigger before PIT entry expires More... | |
| virtual void | afterReceiveNack (const Face &inFace, const lp::Nack &nack, const shared_ptr< pit::Entry > &pitEntry) |
| trigger after Nack is received More... | |
Protected Member Functions | |
| 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 | rejectPendingInterest (const shared_ptr< pit::Entry > &pitEntry) |
| decide that a pending Interest cannot be forwarded 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... | |
| 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... | |
Additional Inherited Members | |
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 () |
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 |
Definition at line 34 of file best-route-strategy.hpp.
|
protected |
Definition at line 32 of file best-route-strategy.cpp.
|
overridevirtual |
trigger after Interest is received
The Interest:
The strategy should decide whether and where to forward this Interest.
Implements nfd::fw::Strategy.
Definition at line 38 of file best-route-strategy.cpp.
References nfd::fw::canForwardToLegacy(), Face, nfd::fib::Entry::getNextHops(), nfd::fw::hasPendingOutRecords(), nfd::fw::Strategy::lookupFib(), nfd::fw::NFD_REGISTER_STRATEGY(), nfd::fw::Strategy::rejectPendingInterest(), nfd::fw::Strategy::sendInterest(), and nfd::fw::wouldViolateScope().