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

The modified version of "Mean--Deviation" RTT estimator, as discussed by Van Jacobson that better suits NDN communication model. More...

#include <ndn-rtt-mean-deviation.hpp>

Inheritance diagram for ns3::ndn::RttMeanDeviation:
Collaboration diagram for ns3::ndn::RttMeanDeviation:

Public Member Functions

 RttMeanDeviation ()
 
 RttMeanDeviation (const RttMeanDeviation &)
 
virtual TypeId GetInstanceTypeId (void) const
 
void SentSeq (SequenceNumber32 seq, uint32_t size)
 Note that a particular sequence has been sent. More...
 
Time AckSeq (SequenceNumber32 ackSeq)
 Note that a particular ack sequence has been received. More...
 
void Measurement (Time measure)
 Add a new measurement to the estimator. More...
 
Time RetransmitTimeout ()
 Returns the estimated RTO. More...
 
Ptr< RttEstimatorCopy () const
 
void Reset ()
 Resets the estimation to its initial state. More...
 
void Gain (double g)
 
- Public Member Functions inherited from ns3::ndn::RttEstimator
 RttEstimator ()
 
 RttEstimator (const RttEstimator &)
 
virtual ~RttEstimator ()
 
virtual void ClearSent ()
 Clear all history entries. More...
 
virtual void IncreaseMultiplier ()
 Increase the estimation multiplier up to MaxMultiplier. More...
 
virtual void ResetMultiplier ()
 Resets the estimation multiplier to 1. More...
 
void SetMinRto (Time minRto)
 Sets the Minimum RTO. More...
 
Time GetMinRto (void) const
 Get the Minimum RTO. More...
 
void SetMaxRto (Time maxRto)
 Sets the Maximum RTO. More...
 
Time GetMaxRto (void) const
 Get the Maximum RTO. More...
 
void SetCurrentEstimate (Time estimate)
 Sets the current RTT estimate (forcefully). More...
 
Time GetCurrentEstimate (void) const
 gets the current RTT estimate. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::ndn::RttEstimator
static TypeId GetTypeId (void)
 

Additional Inherited Members

- Protected Attributes inherited from ns3::ndn::RttEstimator
Time m_currentEstimatedRtt
 
Time m_minRto
 
Time m_maxRto
 
uint32_t m_nSamples
 
uint16_t m_multiplier
 
RttHistory_t m_history
 

Detailed Description

The modified version of "Mean--Deviation" RTT estimator, as discussed by Van Jacobson that better suits NDN communication model.

This class implements the "Mean--Deviation" RTT estimator, as discussed by Van Jacobson and Michael J. Karels, in "Congestion Avoidance and Control", SIGCOMM 88, Appendix A

Introspection did not find any typical Config paths.

Attributes

  • Gain: Gain used in estimating the RTT (smoothed RTT), must be 0 < Gain < 1
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.125
    • Flags: construct write read
  • Gain2: Gain2 used in estimating the RTT (variance), must be 0 < Gain2 < 1
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.25
    • Flags: construct write read

Attributes defined in parent class ns3::ndn::RttEstimator

  • MaxMultiplier: Maximum RTO Multiplier
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 64
    • Flags: construct write read
  • InitialEstimation: Initial RTT estimation
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+09ns
    • Flags: construct write read
  • MinRTO: Minimum retransmit timeout value
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+08ns
    • Flags: construct write read
  • MaxRTO: Maximum retransmit timeout value
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+11ns
    • Flags: construct write read

No TraceSources are defined for this type.
Size of this type is 184 bytes (on a 64-bit architecture).

Definition at line 47 of file ndn-rtt-mean-deviation.hpp.

Constructor & Destructor Documentation

◆ RttMeanDeviation() [1/2]

ns3::ndn::RttMeanDeviation::RttMeanDeviation ( )

Definition at line 61 of file ndn-rtt-mean-deviation.cpp.

◆ RttMeanDeviation() [2/2]

ns3::ndn::RttMeanDeviation::RttMeanDeviation ( const RttMeanDeviation c)

Definition at line 67 of file ndn-rtt-mean-deviation.cpp.

Member Function Documentation

◆ GetTypeId()

TypeId ns3::ndn::RttMeanDeviation::GetTypeId ( void  )
static

Definition at line 46 of file ndn-rtt-mean-deviation.cpp.

Referenced by GetInstanceTypeId().

◆ GetInstanceTypeId()

TypeId ns3::ndn::RttMeanDeviation::GetInstanceTypeId ( void  ) const
virtual

Reimplemented from ns3::ndn::RttEstimator.

Definition at line 77 of file ndn-rtt-mean-deviation.cpp.

References GetTypeId().

◆ SentSeq()

void ns3::ndn::RttMeanDeviation::SentSeq ( SequenceNumber32  seq,
uint32_t  size 
)
virtual

Note that a particular sequence has been sent.

Parameters
seqthe packet sequence number.
sizethe packet size.

Reimplemented from ns3::ndn::RttEstimator.

Definition at line 146 of file ndn-rtt-mean-deviation.cpp.

References ns3::ndn::RttEstimator::m_history.

◆ AckSeq()

Time ns3::ndn::RttMeanDeviation::AckSeq ( SequenceNumber32  ackSeq)
virtual

Note that a particular ack sequence has been received.

Parameters
ackSeqthe ack sequence number.
Returns
The measured RTT for this ack.

Reimplemented from ns3::ndn::RttEstimator.

Definition at line 164 of file ndn-rtt-mean-deviation.cpp.

References ns3::ndn::RttEstimator::m_history, Measurement(), and ns3::ndn::RttEstimator::ResetMultiplier().

◆ Measurement()

void ns3::ndn::RttMeanDeviation::Measurement ( Time  t)
virtual

Add a new measurement to the estimator.

Pure virtual function.

Parameters
tthe new RTT measure.

Implements ns3::ndn::RttEstimator.

Definition at line 83 of file ndn-rtt-mean-deviation.cpp.

References ns3::ndn::RttEstimator::m_currentEstimatedRtt, and ns3::ndn::RttEstimator::m_nSamples.

Referenced by AckSeq().

◆ RetransmitTimeout()

Time ns3::ndn::RttMeanDeviation::RetransmitTimeout ( )
virtual

Returns the estimated RTO.

Pure virtual function.

Returns
the estimated RTO.

Implements ns3::ndn::RttEstimator.

Definition at line 106 of file ndn-rtt-mean-deviation.cpp.

References ns3::ndn::RttEstimator::m_currentEstimatedRtt, ns3::ndn::RttEstimator::m_maxRto, ns3::ndn::RttEstimator::m_minRto, and ns3::ndn::RttEstimator::m_multiplier.

◆ Copy()

Ptr< RttEstimator > ns3::ndn::RttMeanDeviation::Copy ( void  ) const
virtual

Implements ns3::ndn::RttEstimator.

Definition at line 121 of file ndn-rtt-mean-deviation.cpp.

◆ Reset()

void ns3::ndn::RttMeanDeviation::Reset ( )
virtual

Resets the estimation to its initial state.

Reimplemented from ns3::ndn::RttEstimator.

Definition at line 128 of file ndn-rtt-mean-deviation.cpp.

References ns3::ndn::RttEstimator::Reset().

◆ Gain()

void ns3::ndn::RttMeanDeviation::Gain ( double  g)

Definition at line 137 of file ndn-rtt-mean-deviation.cpp.


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