NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::Forwarder Class Reference

Main class of NFD's forwarding engine. More...

#include <forwarder.hpp>

Collaboration diagram for nfd::Forwarder:

Public Member Functions

 Forwarder (FaceTable &faceTable)
 
 ~Forwarder ()
 
const ForwarderCountersgetCounters () const
 
fw::UnsolicitedDataPolicygetUnsolicitedDataPolicy () const
 
void setUnsolicitedDataPolicy (unique_ptr< fw::UnsolicitedDataPolicy > policy)
 
void startProcessInterest (const FaceEndpoint &ingress, const Interest &interest)
 start incoming Interest processing More...
 
void startProcessData (const FaceEndpoint &ingress, const Data &data)
 start incoming Data processing More...
 
void startProcessNack (const FaceEndpoint &ingress, const lp::Nack &nack)
 start incoming Nack processing More...
 
void startProcessNewNextHop (const Name &prefix, const fib::NextHop &nextHop)
 start new nexthop processing More...
 
NameTreegetNameTree ()
 
FibgetFib ()
 
PitgetPit ()
 
CsgetCs ()
 
MeasurementsgetMeasurements ()
 
StrategyChoicegetStrategyChoice ()
 
DeadNonceListgetDeadNonceList ()
 
NetworkRegionTablegetNetworkRegionTable ()
 

Public Attributes

signal::Signal< Forwarder, pit::Entry, Face, DatabeforeSatisfyInterest
 trigger before PIT entry is satisfied More...
 
signal::Signal< Forwarder, pit::EntrybeforeExpirePendingInterest
 trigger before PIT entry expires More...
 
signal::Signal< Forwarder, Interest, DataafterCsHit
 Signals when the incoming interest pipeline gets a hit from the content store. More...
 
signal::Signal< Forwarder, InterestafterCsMiss
 Signals when the incoming interest pipeline gets a miss from the content store. More...
 

Friends

class fw::Strategy
 

Detailed Description

Main class of NFD's forwarding engine.

Forwarder owns all tables and implements the forwarding pipelines.

Definition at line 51 of file forwarder.hpp.

Constructor & Destructor Documentation

◆ Forwarder()

◆ ~Forwarder()

nfd::Forwarder::~Forwarder ( )
default

Member Function Documentation

◆ getCounters()

const ForwarderCounters& nfd::Forwarder::getCounters ( ) const
inline

Definition at line 61 of file forwarder.hpp.

◆ getUnsolicitedDataPolicy()

fw::UnsolicitedDataPolicy& nfd::Forwarder::getUnsolicitedDataPolicy ( ) const
inline

Definition at line 67 of file forwarder.hpp.

◆ setUnsolicitedDataPolicy()

void nfd::Forwarder::setUnsolicitedDataPolicy ( unique_ptr< fw::UnsolicitedDataPolicy policy)
inline

◆ startProcessInterest()

void nfd::Forwarder::startProcessInterest ( const FaceEndpoint ingress,
const Interest interest 
)
inline

start incoming Interest processing

Parameters
ingressface on which Interest is received and endpoint of the sender
interestthe incoming Interest, must be well-formed and created with make_shared

Definition at line 85 of file forwarder.hpp.

Referenced by Forwarder().

◆ startProcessData()

void nfd::Forwarder::startProcessData ( const FaceEndpoint ingress,
const Data data 
)
inline

start incoming Data processing

Parameters
ingressface on which Data is received and endpoint of the sender
datathe incoming Data, must be well-formed and created with make_shared

Definition at line 95 of file forwarder.hpp.

Referenced by Forwarder().

◆ startProcessNack()

void nfd::Forwarder::startProcessNack ( const FaceEndpoint ingress,
const lp::Nack nack 
)
inline

start incoming Nack processing

Parameters
ingressface on which Nack is received and endpoint of the sender
nackthe incoming Nack, must be well-formed

Definition at line 105 of file forwarder.hpp.

Referenced by Forwarder().

◆ startProcessNewNextHop()

void nfd::Forwarder::startProcessNewNextHop ( const Name prefix,
const fib::NextHop nextHop 
)
inline

start new nexthop processing

Parameters
prefixthe prefix of the FibEntry containing the new nexthop
nextHopthe new NextHop

Definition at line 115 of file forwarder.hpp.

Referenced by Forwarder().

◆ getNameTree()

NameTree& nfd::Forwarder::getNameTree ( )
inline

Definition at line 121 of file forwarder.hpp.

◆ getFib()

Fib& nfd::Forwarder::getFib ( )
inline

Definition at line 127 of file forwarder.hpp.

Referenced by nfd::fw::Strategy::lookupFib().

◆ getPit()

Pit& nfd::Forwarder::getPit ( )
inline

Definition at line 133 of file forwarder.hpp.

◆ getCs()

Cs& nfd::Forwarder::getCs ( )
inline

Definition at line 139 of file forwarder.hpp.

Referenced by nfd::TablesConfigSection::ensureConfigured().

◆ getMeasurements()

Measurements& nfd::Forwarder::getMeasurements ( )
inline

Definition at line 145 of file forwarder.hpp.

◆ getStrategyChoice()

StrategyChoice& nfd::Forwarder::getStrategyChoice ( )
inline

Definition at line 151 of file forwarder.hpp.

◆ getDeadNonceList()

DeadNonceList& nfd::Forwarder::getDeadNonceList ( )
inline

Definition at line 157 of file forwarder.hpp.

◆ getNetworkRegionTable()

NetworkRegionTable& nfd::Forwarder::getNetworkRegionTable ( )
inline

Definition at line 163 of file forwarder.hpp.

Referenced by nfd::fw::Strategy::lookupFib().

Friends And Related Function Documentation

◆ fw::Strategy

friend class fw::Strategy
friend

Definition at line 297 of file forwarder.hpp.

Member Data Documentation

◆ beforeSatisfyInterest

signal::Signal<Forwarder, pit::Entry, Face, Data> nfd::Forwarder::beforeSatisfyInterest

trigger before PIT entry is satisfied

See also
Strategy::beforeSatisfyInterest

Definition at line 172 of file forwarder.hpp.

◆ beforeExpirePendingInterest

signal::Signal<Forwarder, pit::Entry> nfd::Forwarder::beforeExpirePendingInterest

trigger before PIT entry expires

See also
Strategy::beforeExpirePendingInterest

Definition at line 177 of file forwarder.hpp.

◆ afterCsHit

signal::Signal<Forwarder, Interest, Data> nfd::Forwarder::afterCsHit

Signals when the incoming interest pipeline gets a hit from the content store.

Definition at line 181 of file forwarder.hpp.

◆ afterCsMiss

signal::Signal<Forwarder, Interest> nfd::Forwarder::afterCsMiss

Signals when the incoming interest pipeline gets a miss from the content store.

Definition at line 185 of file forwarder.hpp.


The documentation for this class was generated from the following files: