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

main class of NFD More...

#include <forwarder.hpp>

Collaboration diagram for nfd::Forwarder:

Public Member Functions

 Forwarder ()
 
 ~Forwarder ()
 
const ForwarderCountersgetCounters () const
 
FaceTablegetFaceTable ()
 
shared_ptr< Face > getFace (FaceId id) const
 get existing Face More...
 
void addFace (shared_ptr< Face > face)
 add new Face More...
 
void startProcessInterest (Face &face, const Interest &interest)
 start incoming Interest processing More...
 
void startProcessData (Face &face, const Data &data)
 start incoming Data processing More...
 
void startProcessNack (Face &face, const lp::Nack &nack)
 start incoming Nack processing More...
 
NameTreegetNameTree ()
 
FibgetFib ()
 
PitgetPit ()
 
CsgetCs ()
 
MeasurementsgetMeasurements ()
 
StrategyChoicegetStrategyChoice ()
 
DeadNonceListgetDeadNonceList ()
 
NetworkRegionTablegetNetworkRegionTable ()
 
void setCsFromNdnSim (ns3::Ptr< ns3::ndn::ContentStore > cs)
 

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...
 

Friends

class fw::Strategy
 

Detailed Description

main class of NFD

Forwarder owns all faces and tables, and implements forwarding pipelines.

Definition at line 55 of file forwarder.hpp.

Constructor & Destructor Documentation

§ Forwarder()

nfd::Forwarder::Forwarder ( )

§ ~Forwarder()

nfd::Forwarder::~Forwarder ( )

Definition at line 56 of file forwarder.cpp.

Member Function Documentation

§ getCounters()

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

Definition at line 271 of file forwarder.hpp.

Referenced by nfd::ForwarderStatusManager::ForwarderStatusManager().

§ getFaceTable()

FaceTable & nfd::Forwarder::getFaceTable ( )
inline

Definition at line 277 of file forwarder.hpp.

Referenced by Forwarder(), and nfd::fw::Strategy::getFaceTable().

§ getFace()

shared_ptr< Face > nfd::Forwarder::getFace ( FaceId  id) const
inline

get existing Face

shortcut to .getFaceTable().get(face)

Definition at line 283 of file forwarder.hpp.

Referenced by nfd::fw::Strategy::getFace(), and nfd::ignoreRibAndLogSections().

§ addFace()

void nfd::Forwarder::addFace ( shared_ptr< Face >  face)
inline

add new Face

shortcut to .getFaceTable().add(face)

Definition at line 289 of file forwarder.hpp.

§ startProcessInterest()

void nfd::Forwarder::startProcessInterest ( Face &  face,
const Interest interest 
)

start incoming Interest processing

Parameters
faceface on which Interest is received
interestthe incoming Interest, must be created with make_shared

Definition at line 61 of file forwarder.cpp.

References ndn::Interest::getLink(), ndn::Interest::getName(), ndn::Interest::hasLink(), and NFD_LOG_DEBUG.

Referenced by nfd::FaceTable::addReserved().

§ startProcessData()

void nfd::Forwarder::startProcessData ( Face &  face,
const Data data 
)

start incoming Data processing

Parameters
faceface on which Data is received
datathe incoming Data, must be created with make_shared

Definition at line 80 of file forwarder.cpp.

Referenced by nfd::FaceTable::addReserved().

§ startProcessNack()

void nfd::Forwarder::startProcessNack ( Face &  face,
const lp::Nack nack 
)

start incoming Nack processing

Parameters
faceface on which Nack is received
nackthe incoming Nack, must be created with make_shared

Definition at line 89 of file forwarder.cpp.

References nfd::fw::Strategy::afterReceiveInterest(), nfd::fw::Strategy::afterReceiveNack(), nfd::fw::Strategy::beforeExpirePendingInterest(), beforeExpirePendingInterest, nfd::fw::Strategy::beforeSatisfyInterest(), beforeSatisfyInterest, nfd::pit::DUPLICATE_NONCE_NONE, nfd::Pit::erase(), ndn::nfd::FACE_SCOPE_LOCAL, ndn::nfd::FACE_SCOPE_NON_LOCAL, nfd::face::FACEID_CONTENT_STORE, nfd::Pit::find(), nfd::cs::Cs::find(), nfd::Pit::findAllDataMatches(), nfd::Fib::findLongestPrefixMatch(), ndn::Link::getDelegations(), nfd::pit::FaceRecord::getFace(), ndn::Data::getFreshnessPeriod(), nfd::getGlobalRng(), ndn::lp::Nack::getInterest(), nfd::pit::FaceRecord::getLastRenewed(), ndn::Interest::getLink(), ndn::Data::getName(), ndn::Interest::getName(), ndn::Interest::getNonce(), ndn::lp::NackHeader::getReason(), ndn::lp::Nack::getReason(), ndn::Interest::getSelectedDelegation(), nfd::DeadNonceList::has(), ndn::Interest::hasLink(), ndn::Interest::hasSelectedDelegation(), nfd::Pit::insert(), nfd::cs::Cs::insert(), nfd::face::INVALID_FACEID, nfd::NetworkRegionTable::isInProducerRegion(), ndn::Name::isPrefixOf(), ndn::nfd::LINK_TYPE_MULTI_ACCESS, NFD_LOG_DEBUG, NFD_LOG_ERROR, NFD_LOG_TRACE, NFD_LOG_WARN, nfd::ForwarderCounters::nInData, nfd::ForwarderCounters::nInInterests, nfd::ForwarderCounters::nInNacks, nfd::ForwarderCounters::nOutData, nfd::ForwarderCounters::nOutInterests, nfd::ForwarderCounters::nOutNacks, ndn::time::steady_clock::now(), ndn::lp::Nack::setHeader(), ndn::Interest::setNonce(), and ndn::TagHost::setTag().

Referenced by nfd::FaceTable::addReserved().

§ getNameTree()

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

Definition at line 295 of file forwarder.hpp.

Referenced by nfd::ForwarderStatusManager::ForwarderStatusManager().

§ getFib()

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

§ getPit()

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

Definition at line 307 of file forwarder.hpp.

Referenced by nfd::ForwarderStatusManager::ForwarderStatusManager().

§ getCs()

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

Definition at line 313 of file forwarder.hpp.

Referenced by nfd::ForwarderStatusManager::ForwarderStatusManager().

§ getMeasurements()

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

Definition at line 319 of file forwarder.hpp.

Referenced by nfd::ForwarderStatusManager::ForwarderStatusManager().

§ getStrategyChoice()

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

Definition at line 325 of file forwarder.hpp.

Referenced by nfd::fw::installStrategies().

§ getDeadNonceList()

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

Definition at line 331 of file forwarder.hpp.

§ getNetworkRegionTable()

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

Definition at line 337 of file forwarder.hpp.

§ setCsFromNdnSim()

void nfd::Forwarder::setCsFromNdnSim ( ns3::Ptr< ns3::ndn::ContentStore cs)
inline

Definition at line 343 of file forwarder.hpp.

Friends And Related Function Documentation

§ fw::Strategy

friend class fw::Strategy
friend

Definition at line 267 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 138 of file forwarder.hpp.

Referenced by startProcessNack().

§ beforeExpirePendingInterest

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

trigger before PIT entry expires

See also
Strategy::beforeExpirePendingInterest

Definition at line 143 of file forwarder.hpp.

Referenced by startProcessNack().


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