NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
nfd::fw::RetxSuppressionExponential Class Reference

a retransmission suppression decision algorithm that suppresses retransmissions using exponential backoff More...

#include <retx-suppression-exponential.hpp>

Collaboration diagram for nfd::fw::RetxSuppressionExponential:

Classes

class  PitInfo
 

Public Types

typedef time::microseconds Duration
 time granularity More...
 

Public Member Functions

 RetxSuppressionExponential (const Duration &initialInterval=DEFAULT_INITIAL_INTERVAL, float multiplier=DEFAULT_MULTIPLIER, const Duration &maxInterval=DEFAULT_MAX_INTERVAL)
 
RetxSuppressionResult decidePerPitEntry (pit::Entry &pitEntry)
 determines whether Interest is a retransmission per pit entry and if so, whether it shall be forwarded or suppressed More...
 
RetxSuppressionResult decidePerUpstream (pit::Entry &pitEntry, Face &outFace)
 determines whether Interest is a retransmission per upstream and if so, whether it shall be forwarded or suppressed More...
 
void incrementIntervalForOutRecord (pit::OutRecord &outRecord)
 Increment the suppression interval for out record. More...
 

Static Public Attributes

static const Duration DEFAULT_INITIAL_INTERVAL = 1_ms
 
static const float DEFAULT_MULTIPLIER = 2.0f
 
static const Duration DEFAULT_MAX_INTERVAL = 250_ms
 

Detailed Description

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 41 of file retx-suppression-exponential.hpp.

Member Typedef Documentation

◆ Duration

time granularity

Definition at line 46 of file retx-suppression-exponential.hpp.

Constructor & Destructor Documentation

◆ RetxSuppressionExponential()

nfd::fw::RetxSuppressionExponential::RetxSuppressionExponential ( const Duration initialInterval = DEFAULT_INITIAL_INTERVAL,
float  multiplier = DEFAULT_MULTIPLIER,
const Duration maxInterval = DEFAULT_MAX_INTERVAL 
)
explicit

Definition at line 57 of file retx-suppression-exponential.cpp.

Member Function Documentation

◆ decidePerPitEntry()

RetxSuppressionResult nfd::fw::RetxSuppressionExponential::decidePerPitEntry ( pit::Entry pitEntry)

◆ decidePerUpstream()

RetxSuppressionResult nfd::fw::RetxSuppressionExponential::decidePerUpstream ( pit::Entry pitEntry,
Face outFace 
)

determines whether Interest is a retransmission per upstream and if so, whether it shall be forwarded or suppressed

Definition at line 95 of file retx-suppression-exponential.cpp.

References nfd::fw::FORWARD, nfd::pit::Entry::getOutRecord(), nfd::fw::NEW, ndn::time::steady_clock::now(), nfd::pit::Entry::out_end(), nfd::fw::SUPPRESS, and nfd::fw::RetxSuppressionExponential::PitInfo::suppressionInterval.

Referenced by nfd::fw::MulticastStrategy::afterReceiveInterest().

◆ incrementIntervalForOutRecord()

void nfd::fw::RetxSuppressionExponential::incrementIntervalForOutRecord ( pit::OutRecord outRecord)

Member Data Documentation

◆ DEFAULT_INITIAL_INTERVAL

const RetxSuppressionExponential::Duration nfd::fw::RetxSuppressionExponential::DEFAULT_INITIAL_INTERVAL = 1_ms
static

Definition at line 76 of file retx-suppression-exponential.hpp.

◆ DEFAULT_MULTIPLIER

const float nfd::fw::RetxSuppressionExponential::DEFAULT_MULTIPLIER = 2.0f
static

Definition at line 77 of file retx-suppression-exponential.hpp.

◆ DEFAULT_MAX_INTERVAL

const RetxSuppressionExponential::Duration nfd::fw::RetxSuppressionExponential::DEFAULT_MAX_INTERVAL = 250_ms
static

Definition at line 78 of file retx-suppression-exponential.hpp.


The documentation for this class was generated from the following files: