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;
64 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 Interest& interest,
const FaceEndpoint& ingress,
137 const shared_ptr<pit::Entry>& pitEntry);
140 afterReceiveRetxInterest(
const Interest& interest,
const FaceEndpoint& ingress,
141 const shared_ptr<pit::Entry>& pitEntry);
147 sendToLastNexthop(
const Interest& interest,
const FaceEndpoint& ingress,
148 const shared_ptr<pit::Entry>& pitEntry, MtInfo& mi,
152 afterRtoTimeout(
const weak_ptr<pit::Entry>& pitWeak,
160 multicast(
const Interest& interest,
const Face& inFace,
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;
Represents a face-endpoint pair in the forwarder.
Main class of NFD's forwarding engine.
generalization of a network interface
void afterReceiveInterest(const Interest &interest, const FaceEndpoint &ingress, const shared_ptr< pit::Entry > &pitEntry) override
Trigger after an Interest is received.
static const Name & getStrategyName()
AccessStrategy(Forwarder &forwarder, const Name &name=getStrategyName())
void beforeSatisfyInterest(const Data &data, const FaceEndpoint &ingress, const shared_ptr< pit::Entry > &pitEntry) override
Trigger before a PIT entry is satisfied.
a retransmission suppression decision algorithm that suppresses retransmissions within a fixed durati...
Represents a forwarding strategy.
Contains arbitrary information placed by the forwarding strategy on table entries.
const FaceId INVALID_FACEID
indicates an invalid FaceId
uint64_t FaceId
Identifies a face.
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents,...