NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::fw Namespace Reference

Classes

class  AccessStrategy
 Access Router Strategy version 1. More...
 
class  BestRouteStrategy
 Best Route strategy version 1. More...
 
class  BestRouteStrategy2
 Best Route strategy version 4. More...
 
class  BroadcastStrategy
 identical to MulticastStrategy, for backwards compatibility More...
 
class  ClientControlStrategy
 a forwarding strategy controlled by client application More...
 
class  MulticastStrategy
 a forwarding strategy that forwards Interest to all FIB nexthops More...
 
class  NccStrategy
 a forwarding strategy similar to CCNx 0.7.2 More...
 
class  RetxSuppression
 helper for consumer retransmission suppression More...
 
class  RetxSuppressionExponential
 a retransmission suppression decision algorithm that suppresses retransmissions using exponential backoff More...
 
class  RetxSuppressionFixed
 a retransmission suppression decision algorithm that suppresses retransmissions within a fixed duration More...
 
class  Strategy
 represents a forwarding strategy More...
 
class  StrategyInfo
 contains arbitrary information forwarding strategy places on table entries More...
 

Typedefs

typedef std::function< shared_ptr< Strategy >Forwarder &)> StrategyCreateFunc
 

Functions

 NFD_REGISTER_STRATEGY (AccessStrategy)
 
 NFD_REGISTER_STRATEGY (BestRouteStrategy)
 
static bool predicate_PitEntry_canForwardTo_NextHop (shared_ptr< pit::Entry > pitEntry, const fib::NextHop &nexthop)
 
 NFD_REGISTER_STRATEGY (BestRouteStrategy2)
 
static bool predicate_NextHop_eligible (const shared_ptr< pit::Entry > &pitEntry, const fib::NextHop &nexthop, FaceId currentDownstream, bool wantUnused=false, time::steady_clock::TimePoint now=time::steady_clock::TimePoint::min())
 determines whether a NextHop is eligible More...
 
static fib::NextHopList::const_iterator findEligibleNextHopWithEarliestOutRecord (const shared_ptr< pit::Entry > &pitEntry, const fib::NextHopList &nexthops, FaceId currentDownstream)
 pick an eligible NextHop with earliest OutRecord More...
 
lp::NackReason compareLessSevere (lp::NackReason x, lp::NackReason y)
 
 NFD_REGISTER_STRATEGY (BroadcastStrategy)
 
 NFD_REGISTER_STRATEGY (ClientControlStrategy)
 
 NFD_REGISTER_STRATEGY (MulticastStrategy)
 
 NFD_REGISTER_STRATEGY (NccStrategy)
 
shared_ptr< StrategymakeDefaultStrategy (Forwarder &forwarder)
 
static std::map< Name, StrategyCreateFunc > & getStrategyFactories ()
 
void registerStrategyImpl (const Name &strategyName, const StrategyCreateFunc &createFunc)
 
void installStrategies (Forwarder &forwarder)
 
template<typename S >
void registerStrategy ()
 registers a strategy to be installed later More...
 

Variables

 AccessStrategy
 
 BestRouteStrategy2
 
 BroadcastStrategy
 
 ClientControlStrategy
 
 Strategy
 

Typedef Documentation

§ StrategyCreateFunc

typedef std::function<shared_ptr<Strategy>Forwarder&)> nfd::fw::StrategyCreateFunc

Definition at line 46 of file strategy-registry.hpp.

Function Documentation

§ NFD_REGISTER_STRATEGY() [1/7]

nfd::fw::NFD_REGISTER_STRATEGY ( AccessStrategy  )

§ NFD_REGISTER_STRATEGY() [2/7]

nfd::fw::NFD_REGISTER_STRATEGY ( BestRouteStrategy  )

§ predicate_PitEntry_canForwardTo_NextHop()

static bool nfd::fw::predicate_PitEntry_canForwardTo_NextHop ( shared_ptr< pit::Entry pitEntry,
const fib::NextHop nexthop 
)
inlinestatic

§ NFD_REGISTER_STRATEGY() [3/7]

nfd::fw::NFD_REGISTER_STRATEGY ( BestRouteStrategy2  )

§ predicate_NextHop_eligible()

static bool nfd::fw::predicate_NextHop_eligible ( const shared_ptr< pit::Entry > &  pitEntry,
const fib::NextHop nexthop,
FaceId  currentDownstream,
bool  wantUnused = false,
time::steady_clock::TimePoint  now = time::steady_clock::TimePoint::min() 
)
inlinestatic

determines whether a NextHop is eligible

Parameters
pitEntryPIT entry
nexthopnext hop
currentDownstreamincoming FaceId of current Interest
wantUnusedif true, NextHop must not have unexpired OutRecord
nowtime::steady_clock::now(), ignored if !wantUnused

Definition at line 56 of file best-route-strategy2.cpp.

References nfd::fib::NextHop::getFace().

Referenced by nfd::fw::BestRouteStrategy2::afterReceiveInterest(), and findEligibleNextHopWithEarliestOutRecord().

§ findEligibleNextHopWithEarliestOutRecord()

static fib::NextHopList::const_iterator nfd::fw::findEligibleNextHopWithEarliestOutRecord ( const shared_ptr< pit::Entry > &  pitEntry,
const fib::NextHopList nexthops,
FaceId  currentDownstream 
)
inlinestatic

pick an eligible NextHop with earliest OutRecord

Note
It is assumed that every nexthop has an OutRecord

Definition at line 87 of file best-route-strategy2.cpp.

References predicate_NextHop_eligible().

Referenced by nfd::fw::BestRouteStrategy2::afterReceiveInterest().

§ compareLessSevere()

lp::NackReason nfd::fw::compareLessSevere ( lp::NackReason  x,
lp::NackReason  y 
)
inline
Returns
less severe NackReason between x and y

lp::NackReason::NONE is treated as most severe

Definition at line 176 of file best-route-strategy2.cpp.

References ndn::lp::NONE.

Referenced by nfd::fw::BestRouteStrategy2::afterReceiveNack().

§ NFD_REGISTER_STRATEGY() [4/7]

nfd::fw::NFD_REGISTER_STRATEGY ( BroadcastStrategy  )

§ NFD_REGISTER_STRATEGY() [5/7]

nfd::fw::NFD_REGISTER_STRATEGY ( ClientControlStrategy  )

§ NFD_REGISTER_STRATEGY() [6/7]

nfd::fw::NFD_REGISTER_STRATEGY ( MulticastStrategy  )

§ NFD_REGISTER_STRATEGY() [7/7]

nfd::fw::NFD_REGISTER_STRATEGY ( NccStrategy  )

§ makeDefaultStrategy()

shared_ptr< Strategy > nfd::fw::makeDefaultStrategy ( Forwarder forwarder)

Definition at line 33 of file strategy-registry.cpp.

§ getStrategyFactories()

static std::map<Name, StrategyCreateFunc>& nfd::fw::getStrategyFactories ( )
static

Definition at line 39 of file strategy-registry.cpp.

Referenced by installStrategies(), and registerStrategyImpl().

§ registerStrategyImpl()

void nfd::fw::registerStrategyImpl ( const Name strategyName,
const StrategyCreateFunc createFunc 
)

Definition at line 46 of file strategy-registry.cpp.

References getStrategyFactories().

Referenced by registerStrategy().

§ installStrategies()

void nfd::fw::installStrategies ( Forwarder forwarder)

§ registerStrategy()

template<typename S >
void nfd::fw::registerStrategy ( )

registers a strategy to be installed later

Definition at line 55 of file strategy-registry.hpp.

References registerStrategyImpl().

Variable Documentation

§ AccessStrategy

Definition at line 32 of file access-strategy.cpp.

§ BestRouteStrategy2

§ BroadcastStrategy

§ ClientControlStrategy

§ Strategy

Definition at line 33 of file strategy.cpp.