Best Route strategy version 1. More...
#include <best-route-strategy.hpp>
Public Member Functions | |
BestRouteStrategy (Forwarder &forwarder, const Name &name=STRATEGY_NAME) | |
virtual | ~BestRouteStrategy () |
virtual void | afterReceiveInterest (const Face &inFace, const Interest &interest, shared_ptr< fib::Entry > fibEntry, shared_ptr< pit::Entry > pitEntry) 1 |
trigger after Interest is received More... | |
Public Member Functions inherited from nfd::fw::Strategy | |
Strategy (Forwarder &forwarder, const Name &name) | |
construct a strategy instance More... | |
virtual | ~Strategy () |
const Name & | getName () const |
a Name that represent the Strategy program More... | |
virtual void | beforeSatisfyInterest (shared_ptr< pit::Entry > pitEntry, const Face &inFace, const Data &data) |
trigger before PIT entry is satisfied More... | |
virtual void | beforeExpirePendingInterest (shared_ptr< pit::Entry > pitEntry) |
trigger before PIT entry expires More... | |
Static Public Attributes | |
static const Name | STRATEGY_NAME |
Additional Inherited Members | |
Protected Member Functions inherited from nfd::fw::Strategy | |
void | sendInterest (shared_ptr< pit::Entry > pitEntry, shared_ptr< Face > outFace, bool wantNewNonce=false) |
send Interest to outFace More... | |
void | rejectPendingInterest (shared_ptr< pit::Entry > pitEntry) |
decide that a pending Interest cannot be forwarded More... | |
MeasurementsAccessor & | getMeasurements () |
shared_ptr< Face > | getFace (FaceId id) |
const FaceTable & | getFaceTable () |
Protected Attributes inherited from nfd::fw::Strategy | |
signal::Signal< FaceTable, shared_ptr< Face > > & | afterAddFace |
signal::Signal< FaceTable, shared_ptr< 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 45 of file best-route-strategy.hpp.
nfd::fw::BestRouteStrategy::BestRouteStrategy | ( | Forwarder & | forwarder, |
const Name & | name = STRATEGY_NAME |
||
) |
Definition at line 33 of file best-route-strategy.cpp.
|
virtual |
Definition at line 38 of file best-route-strategy.cpp.
|
virtual |
trigger after Interest is received
The Interest:
The strategy should decide whether and where to forward this Interest.
Implements nfd::fw::Strategy.
Reimplemented in nfd::fw::ClientControlStrategy.
Definition at line 50 of file best-route-strategy.cpp.
References nfd::fw::predicate_PitEntry_canForwardTo_NextHop(), nfd::fw::Strategy::rejectPendingInterest(), and nfd::fw::Strategy::sendInterest().
Referenced by nfd::fw::ClientControlStrategy::afterReceiveInterest().
|
static |
Definition at line 60 of file best-route-strategy.hpp.