26 #ifndef NFD_DAEMON_FW_ACCESS_STRATEGY_HPP 27 #define NFD_DAEMON_FW_ACCESS_STRATEGY_HPP 32 #include <ndn-cxx/util/rtt-estimator.hpp> 62 const shared_ptr<pit::Entry>& pitEntry)
override;
69 using RttEstimator = ndn::util::RttEstimator;
83 scheduler::ScopedEventId rtoTimer;
98 MtInfo(shared_ptr<const RttEstimator::Options> opts)
99 : rtt(std::move(opts))
110 std::tuple<Name, MtInfo*>
111 findPrefixMeasurements(
const pit::Entry& pitEntry);
117 addPrefixMeasurements(
const Data& data);
127 FaceInfo(shared_ptr<const RttEstimator::Options> opts)
128 : rtt(std::move(opts))
138 afterReceiveNewInterest(
const FaceEndpoint& ingress,
const Interest& interest,
139 const shared_ptr<pit::Entry>& pitEntry);
142 afterReceiveRetxInterest(
const FaceEndpoint& ingress,
const Interest& interest,
143 const shared_ptr<pit::Entry>& pitEntry);
149 sendToLastNexthop(
const FaceEndpoint& ingress,
const Interest& interest,
150 const shared_ptr<pit::Entry>& pitEntry, MtInfo& mi,
154 afterRtoTimeout(
const weak_ptr<pit::Entry>& pitWeak,
162 multicast(
const Face& inFace,
const Interest& interest,
163 const shared_ptr<pit::Entry>& pitEntry,
const fib::Entry& fibEntry,
167 updateMeasurements(
const Face& inFace,
const Data& data, time::nanoseconds rtt);
170 const shared_ptr<const RttEstimator::Options> m_rttEstimatorOpts;
171 std::unordered_map<FaceId, FaceInfo> m_fit;
173 signal::ScopedConnection m_removeFaceConn;
179 #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...
uint64_t EndpointId
Identifies a remote endpoint on the link.
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