26 #ifndef NFD_DAEMON_FW_ASF_STRATEGY_HPP
27 #define NFD_DAEMON_FW_ASF_STRATEGY_HPP
58 const shared_ptr<pit::Entry>& pitEntry)
override;
62 const shared_ptr<pit::Entry>& pitEntry)
override;
66 const shared_ptr<pit::Entry>& pitEntry)
override;
70 forwardInterest(
const Interest& interest,
Face& outFace,
const fib::Entry& fibEntry,
71 const shared_ptr<pit::Entry>& pitEntry);
74 sendProbe(
const Interest& interest,
const FaceEndpoint& ingress,
const Face& faceToUse,
75 const fib::Entry& fibEntry,
const shared_ptr<pit::Entry>& pitEntry);
78 getBestFaceForForwarding(
const Interest& interest,
const Face& inFace,
79 const fib::Entry& fibEntry,
const shared_ptr<pit::Entry>& pitEntry,
80 bool isNewInterest =
true);
83 onTimeoutOrNack(
const Name& interestName,
FaceId faceId,
bool isNack);
86 sendNoRouteNack(
Face& face,
const shared_ptr<pit::Entry>& pitEntry);
89 struct FaceStatsForwardingCompare
94 using FaceStatsForwardingSet = std::set<FaceStats, FaceStatsForwardingCompare>;
97 std::unique_ptr<RetxSuppressionExponential> m_retxSuppression;
99 size_t m_nMaxTimeouts = 3;
Represents a face-endpoint pair in the forwarder.
Main class of NFD's forwarding engine.
Generalization of a network interface.
Represents an entry in the FIB.
Base class of all forwarding strategies.
MeasurementsAccessor & getMeasurements() noexcept
Helper class to retrieve and create strategy measurements.
Adaptive SRTT-based forwarding strategy.
static const Name & getStrategyName()
void afterReceiveNack(const lp::Nack &nack, const FaceEndpoint &ingress, const shared_ptr< pit::Entry > &pitEntry) override
Trigger after a Nack is received.
AsfStrategy(Forwarder &forwarder, const Name &name=getStrategyName())
void afterReceiveInterest(const Interest &interest, const FaceEndpoint &ingress, const shared_ptr< pit::Entry > &pitEntry) override
Trigger after an Interest is received.
void beforeSatisfyInterest(const Data &data, const FaceEndpoint &ingress, const shared_ptr< pit::Entry > &pitEntry) override
Trigger before a PIT entry is satisfied.
Contains information about an Interest toward an outgoing face.
#define NFD_PUBLIC_WITH_TESTS_ELSE_PRIVATE
uint64_t FaceId
Identifies a face.
Container for ranking-related values.