26 #ifndef NFD_DAEMON_FW_ASF_STRATEGY_HPP
27 #define NFD_DAEMON_FW_ASF_STRATEGY_HPP
57 const shared_ptr<pit::Entry>& pitEntry)
override;
61 const shared_ptr<pit::Entry>& pitEntry)
override;
65 const shared_ptr<pit::Entry>& pitEntry)
override;
69 forwardInterest(
const Interest& interest,
Face& outFace,
const fib::Entry& fibEntry,
70 const shared_ptr<pit::Entry>& pitEntry);
73 sendProbe(
const Interest& interest,
const FaceEndpoint& ingress,
const Face& faceToUse,
74 const fib::Entry& fibEntry,
const shared_ptr<pit::Entry>& pitEntry);
77 getBestFaceForForwarding(
const Interest& interest,
const Face& inFace,
78 const fib::Entry& fibEntry,
const shared_ptr<pit::Entry>& pitEntry,
79 bool isNewInterest =
true);
82 onTimeoutOrNack(
const Name& interestName,
FaceId faceId,
bool isNack);
85 sendNoRouteNack(
Face& face,
const shared_ptr<pit::Entry>& pitEntry);
91 std::unique_ptr<RetxSuppressionExponential> m_retxSuppression;
93 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.
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.