26 #ifndef NFD_DAEMON_FW_ACCESS_STRATEGY_HPP 27 #define NFD_DAEMON_FW_ACCESS_STRATEGY_HPP 32 #include <ndn-cxx/util/rtt-estimator.hpp> 60 const shared_ptr<pit::Entry>& pitEntry)
override;
67 using RttEstimator = ndn::util::RttEstimator;
81 scheduler::ScopedEventId rtoTimer;
96 MtInfo(shared_ptr<const RttEstimator::Options> opts)
97 : rtt(std::move(opts))
108 std::tuple<Name, MtInfo*>
109 findPrefixMeasurements(
const pit::Entry& pitEntry);
115 addPrefixMeasurements(
const Data& data);
125 FaceInfo(shared_ptr<const RttEstimator::Options> opts)
126 : rtt(std::move(opts))
136 afterReceiveNewInterest(
const FaceEndpoint& ingress,
const Interest& interest,
137 const shared_ptr<pit::Entry>& pitEntry);
140 afterReceiveRetxInterest(
const FaceEndpoint& ingress,
const Interest& interest,
141 const shared_ptr<pit::Entry>& pitEntry);
147 sendToLastNexthop(
const FaceEndpoint& ingress,
const Interest& interest,
148 const shared_ptr<pit::Entry>& pitEntry, MtInfo& mi,
152 afterRtoTimeout(
const weak_ptr<pit::Entry>& pitWeak,
160 multicast(
const Face& inFace,
const Interest& interest,
161 const shared_ptr<pit::Entry>& pitEntry,
const fib::Entry& fibEntry,
165 updateMeasurements(
const Face& inFace,
const Data& data, time::nanoseconds rtt);
168 const shared_ptr<const RttEstimator::Options> m_rttEstimatorOpts;
169 std::unordered_map<FaceId, FaceInfo> m_fit;
171 signal::ScopedConnection m_removeFaceConn;
177 #endif // NFD_DAEMON_FW_ACCESS_STRATEGY_HPP Main class of NFD's forwarding engine.
AccessStrategy(Forwarder &forwarder, const Name &name=getStrategyName())
a retransmission suppression decision algorithm that suppresses retransmissions within a fixed durati...
Access Router Strategy version 1.
Represents a face-endpoint pair in the forwarder.
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
contains arbitrary information forwarding strategy places on table entries
generalization of a network interface
void afterReceiveInterest(const FaceEndpoint &ingress, const Interest &interest, const shared_ptr< pit::Entry > &pitEntry) override
Trigger after Interest is received.
Represents a forwarding strategy.
static const Name & getStrategyName()
uint64_t FaceId
Identifies a face.
const FaceId INVALID_FACEID
indicates an invalid FaceId
void beforeSatisfyInterest(const shared_ptr< pit::Entry > &pitEntry, const FaceEndpoint &ingress, const Data &data) override
Trigger before PIT entry is satisfied.