NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: 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 ()
 
FacegetFace (FaceId id) const
 get existing Face More...
 
void addFace (shared_ptr< Face > face)
 add new Face More...
 
fw::UnsolicitedDataPolicygetUnsolicitedDataPolicy () const
 
void setUnsolicitedDataPolicy (unique_ptr< fw::UnsolicitedDataPolicy > policy)
 
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...
 
NameTree & getNameTree ()
 
Fib & getFib ()
 
Pit & getPit ()
 
Cs & getCs ()
 
Measurements & getMeasurements ()
 
StrategyChoice & getStrategyChoice ()
 
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 54 of file forwarder.hpp.

Constructor & Destructor Documentation

nfd::Forwarder::Forwarder ( )

Definition at line 46 of file forwarder.cpp.

References nfd::FaceTable::addReserved(), nfd::FaceTable::afterAdd, nfd::fw::Strategy::afterReceiveInterest(), nfd::fw::Strategy::afterReceiveNack(), nfd::fw::Strategy::beforeExpirePendingInterest(), beforeExpirePendingInterest, nfd::FaceTable::beforeRemove, nfd::fw::Strategy::beforeSatisfyInterest(), beforeSatisfyInterest, nfd::fw::CACHE, nfd::cleanupOnFaceRemoval(), nfd::fw::DUPLICATE_NONCE_IN_SAME, nfd::fw::DUPLICATE_NONCE_NONE, ndn::DelegationList::empty(), Face, ndn::nfd::FACE_SCOPE_NON_LOCAL, nfd::face::FACEID_CONTENT_STORE, nfd::fw::findDuplicateNonce(), nfd::FaceTable::get(), nfd::getDefaultStrategyName(), getFaceTable(), ndn::Interest::getForwardingHint(), ndn::Data::getFreshnessPeriod(), ndn::lp::Nack::getInterest(), ndn::Data::getName(), ndn::Interest::getName(), ndn::Interest::getNonce(), ndn::lp::NackHeader::getReason(), ndn::lp::Nack::getReason(), ndn::TagHost::getTag(), nfd::DeadNonceList::has(), nfd::fw::hasPendingOutRecords(), nfd::face::INVALID_FACEID, nfd::NetworkRegionTable::isInProducerRegion(), ndn::Name::isPrefixOf(), ndn::nfd::LINK_TYPE_AD_HOC, ndn::nfd::LINK_TYPE_POINT_TO_POINT, nfd::scope_prefix::LOCALHOST, nfd::ForwarderCounters::nCsHits, nfd::ForwarderCounters::nCsMisses, NFD_LOG_DEBUG, NFD_LOG_ERROR, 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::TagHost::setTag(), startProcessData(), startProcessInterest(), startProcessNack(), and ~Forwarder().

nfd::Forwarder::~Forwarder ( )
default

Referenced by Forwarder().

Member Function Documentation

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

Definition at line 63 of file forwarder.hpp.

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

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

Definition at line 70 of file forwarder.hpp.

References Face.

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

Face* nfd::Forwarder::getFace ( FaceId  id) const
inline

get existing Face

shortcut to .getFaceTable().get(face)

Definition at line 80 of file forwarder.hpp.

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

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

add new Face

shortcut to .getFaceTable().add(face)

Definition at line 90 of file forwarder.hpp.

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

Definition at line 96 of file forwarder.hpp.

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

Definition at line 102 of file forwarder.hpp.

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

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

start incoming Interest processing

Parameters
faceface on which Interest is received
interestthe incoming Interest, must be well-formed and created with make_shared

Definition at line 114 of file forwarder.hpp.

Referenced by Forwarder().

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

start incoming Data processing

Parameters
faceface on which Data is received
datathe incoming Data, must be well-formed and created with make_shared

Definition at line 124 of file forwarder.hpp.

Referenced by Forwarder().

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

start incoming Nack processing

Parameters
faceface on which Nack is received
nackthe incoming Nack, must be well-formed

Definition at line 134 of file forwarder.hpp.

References nfd::name_tree::NameTree.

Referenced by Forwarder().

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

Definition at line 140 of file forwarder.hpp.

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

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

Definition at line 152 of file forwarder.hpp.

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

Cs& nfd::Forwarder::getCs ( )
inline
Measurements& nfd::Forwarder::getMeasurements ( )
inline
StrategyChoice& nfd::Forwarder::getStrategyChoice ( )
inline

Definition at line 170 of file forwarder.hpp.

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

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

Definition at line 176 of file forwarder.hpp.

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

Definition at line 189 of file forwarder.hpp.

Friends And Related Function Documentation

friend class fw::Strategy
friend

Definition at line 327 of file forwarder.hpp.

Member Data Documentation

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

trigger before PIT entry is satisfied

See also
Strategy::beforeSatisfyInterest

Definition at line 198 of file forwarder.hpp.

Referenced by Forwarder().

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

trigger before PIT entry expires

See also
Strategy::beforeExpirePendingInterest

Definition at line 203 of file forwarder.hpp.

Referenced by Forwarder().


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