26 #ifndef NFD_DAEMON_FW_FORWARDER_HPP
27 #define NFD_DAEMON_FW_FORWARDER_HPP
71 return *m_unsolicitedDataPolicy;
77 BOOST_ASSERT(policy !=
nullptr);
78 m_unsolicitedDataPolicy = std::move(policy);
108 return m_measurements;
114 return m_strategyChoice;
120 return m_deadNonceList;
126 return m_networkRegionTable;
140 onIncomingInterest(
const Interest& interest,
const FaceEndpoint& ingress);
145 onInterestLoop(
const Interest& interest,
const FaceEndpoint& ingress);
150 onContentStoreMiss(
const Interest& interest,
const FaceEndpoint& ingress,
151 const shared_ptr<pit::Entry>& pitEntry);
156 onContentStoreHit(
const Interest& interest,
const FaceEndpoint& ingress,
157 const shared_ptr<pit::Entry>& pitEntry,
const Data& data);
163 onOutgoingInterest(
const Interest& interest,
Face& egress,
164 const shared_ptr<pit::Entry>& pitEntry);
169 onInterestFinalize(
const shared_ptr<pit::Entry>& pitEntry);
176 onIncomingData(
const Data& data,
const FaceEndpoint& ingress);
181 onDataUnsolicited(
const Data& data,
const FaceEndpoint& ingress);
187 onOutgoingData(
const Data& data,
Face& egress);
194 onIncomingNack(
const lp::Nack& nack,
const FaceEndpoint& ingress);
200 onOutgoingNack(
const lp::NackHeader& nack,
Face& egress,
201 const shared_ptr<pit::Entry>& pitEntry);
204 onDroppedInterest(
const Interest& interest,
Face& egress);
207 onNewNextHop(
const Name& prefix,
const fib::NextHop& nextHop);
213 setExpiryTimer(
const shared_ptr<pit::Entry>& pitEntry, time::milliseconds duration);
223 processConfig(
const ConfigSection& configSection,
bool isDryRun,
224 const std::string& filename);
234 uint8_t defaultHopLimit = 0;
239 ForwarderCounters m_counters;
241 FaceTable& m_faceTable;
242 unique_ptr<fw::UnsolicitedDataPolicy> m_unsolicitedDataPolicy;
248 Measurements m_measurements;
249 StrategyChoice m_strategyChoice;
250 DeadNonceList m_deadNonceList;
251 NetworkRegionTable m_networkRegionTable;
configuration file parsing utility
Represents the Dead Nonce List.
Represents a face-endpoint pair in the forwarder.
Counters provided by Forwarder.
Main class of NFD's forwarding engine.
void setConfigFile(ConfigFile &configFile)
register handler for forwarder section of NFD configuration file
Measurements & getMeasurements()
DeadNonceList & getDeadNonceList()
const ForwarderCounters & getCounters() const
fw::UnsolicitedDataPolicy & getUnsolicitedDataPolicy() const
Forwarder(FaceTable &faceTable)
void setUnsolicitedDataPolicy(unique_ptr< fw::UnsolicitedDataPolicy > policy)
NetworkRegionTable & getNetworkRegionTable()
StrategyChoice & getStrategyChoice()
stores a collection of producer region names
implements the Content Store
generalization of a network interface
Represents the Forwarding Information Base (FIB)
Represents a nexthop record in a FIB entry.
Represents a forwarding strategy.
determines how to process an unsolicited Data
A common index structure for FIB, PIT, StrategyChoice, and Measurements.
Contains information about an Interest toward an outgoing face.
Represents the Interest Table.
Represents the Strategy Choice table.
#define NFD_PUBLIC_WITH_TESTS_ELSE_PRIVATE
#define NFD_VIRTUAL_WITH_TESTS
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents,...
boost::property_tree::ptree ConfigSection
a config file section