a retransmission suppression decision algorithm that suppresses retransmissions using exponential backoff More...
#include <retx-suppression-exponential.hpp>
Classes | |
class | PitInfo |
Public Types | |
typedef time::microseconds | Duration |
time granularity More... | |
Public Types inherited from nfd::fw::RetxSuppression | |
enum | Result { NEW, FORWARD, SUPPRESS } |
Public Member Functions | |
RetxSuppressionExponential (const Duration &initialInterval=DEFAULT_INITIAL_INTERVAL, float multiplier=DEFAULT_MULTIPLIER, const Duration &maxInterval=DEFAULT_MAX_INTERVAL) | |
virtual Result | decide (const Face &inFace, const Interest &interest, pit::Entry &pitEntry) const override |
determines whether Interest is a retransmission, and if so, whether it shall be forwarded or suppressed More... | |
Static Public Attributes | |
static const Duration | DEFAULT_INITIAL_INTERVAL |
static const float | DEFAULT_MULTIPLIER = 2.0 |
static const Duration | DEFAULT_MAX_INTERVAL |
Additional Inherited Members | |
Protected Member Functions inherited from nfd::fw::RetxSuppression | |
time::steady_clock::TimePoint | getLastOutgoing (const pit::Entry &pitEntry) const |
a retransmission suppression decision algorithm that suppresses retransmissions using exponential backoff
The i-th retransmission will be suppressed if the last transmission (out-record) occurred within MIN(initialInterval * multiplier^(i-1), maxInterval)
Definition at line 40 of file retx-suppression-exponential.hpp.
typedef time::microseconds nfd::fw::RetxSuppressionExponential::Duration |
time granularity
Definition at line 45 of file retx-suppression-exponential.hpp.
|
explicit |
Definition at line 60 of file retx-suppression-exponential.cpp.
|
overridevirtual |
determines whether Interest is a retransmission, and if so, whether it shall be forwarded or suppressed
Implements nfd::fw::RetxSuppression.
Definition at line 73 of file retx-suppression-exponential.cpp.
References nfd::fw::RetxSuppression::FORWARD, nfd::fw::RetxSuppression::getLastOutgoing(), nfd::fw::hasPendingOutRecords(), nfd::StrategyInfoHost::insertStrategyInfo(), nfd::fw::RetxSuppression::NEW, ndn::time::steady_clock::now(), nfd::fw::RetxSuppression::SUPPRESS, and nfd::fw::RetxSuppressionExponential::PitInfo::suppressionInterval.
Referenced by nfd::fw::asf::AsfStrategy::afterReceiveInterest(), and nfd::fw::BestRouteStrategy2::afterReceiveInterest().
|
static |
Definition at line 62 of file retx-suppression-exponential.hpp.
|
static |
Definition at line 66 of file retx-suppression-exponential.hpp.
|
static |
Definition at line 67 of file retx-suppression-exponential.hpp.