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

Base class for all RTT Estimators. More...

#include <ndn-rtt-estimator.hpp>

Inheritance diagram for ns3::ndn::RttEstimator:
Collaboration diagram for ns3::ndn::RttEstimator:

Public Member Functions

 RttEstimator ()
 
 RttEstimator (const RttEstimator &)
 
virtual ~RttEstimator ()
 
virtual TypeId GetInstanceTypeId (void) const
 
virtual void SentSeq (SequenceNumber32 seq, uint32_t size)
 Note that a particular sequence has been sent. More...
 
virtual Time AckSeq (SequenceNumber32 ackSeq)
 Note that a particular ack sequence has been received. More...
 
virtual void ClearSent ()
 Clear all history entries. More...
 
virtual void Measurement (Time t)=0
 Add a new measurement to the estimator. More...
 
virtual Time RetransmitTimeout ()=0
 Returns the estimated RTO. More...
 
virtual Ptr< RttEstimatorCopy () const =0
 
virtual void IncreaseMultiplier ()
 Increase the estimation multiplier up to MaxMultiplier. More...
 
virtual void ResetMultiplier ()
 Resets the estimation multiplier to 1. More...
 
virtual void Reset ()
 Resets the estimation to its initial state. 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)
 

Protected Attributes

Time m_currentEstimatedRtt
 
Time m_minRto
 
Time m_maxRto
 
uint32_t m_nSamples
 
uint16_t m_multiplier
 
RttHistory_t m_history
 

Detailed Description

Base class for all RTT Estimators.

Introspection did not find any typical Config paths.

Attributes

  • 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 160 bytes (on a 64-bit architecture).

Definition at line 61 of file ndn-rtt-estimator.hpp.

Constructor & Destructor Documentation

◆ RttEstimator() [1/2]

ns3::ndn::RttEstimator::RttEstimator ( )

Definition at line 126 of file ndn-rtt-estimator.cpp.

References m_currentEstimatedRtt.

◆ RttEstimator() [2/2]

ns3::ndn::RttEstimator::RttEstimator ( const RttEstimator c)

Definition at line 143 of file ndn-rtt-estimator.cpp.

◆ ~RttEstimator()

ns3::ndn::RttEstimator::~RttEstimator ( )
virtual

Definition at line 158 of file ndn-rtt-estimator.cpp.

Member Function Documentation

◆ GetTypeId()

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

Definition at line 47 of file ndn-rtt-estimator.cpp.

References GetMaxRto(), GetMinRto(), SetMaxRto(), and SetMinRto().

Referenced by GetInstanceTypeId().

◆ GetInstanceTypeId()

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

Reimplemented in ns3::ndn::RttMeanDeviation.

Definition at line 164 of file ndn-rtt-estimator.cpp.

References GetTypeId().

◆ SentSeq()

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

Note that a particular sequence has been sent.

Parameters
seqthe packet sequence number.
sizethe packet size.

Reimplemented in ns3::ndn::RttMeanDeviation.

Definition at line 170 of file ndn-rtt-estimator.cpp.

References m_history.

◆ AckSeq()

Time ns3::ndn::RttEstimator::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 in ns3::ndn::RttMeanDeviation.

Definition at line 194 of file ndn-rtt-estimator.cpp.

References ns3::ndn::RttHistory::count, m_history, Measurement(), ResetMultiplier(), ns3::ndn::RttHistory::retx, ns3::ndn::RttHistory::seq, and ns3::ndn::RttHistory::time.

◆ ClearSent()

void ns3::ndn::RttEstimator::ClearSent ( )
virtual

Clear all history entries.

Definition at line 220 of file ndn-rtt-estimator.cpp.

References m_history.

◆ Measurement()

virtual void ns3::ndn::RttEstimator::Measurement ( Time  t)
pure virtual

Add a new measurement to the estimator.

Pure virtual function.

Parameters
tthe new RTT measure.

Implemented in ns3::ndn::RttMeanDeviation.

Referenced by AckSeq().

◆ RetransmitTimeout()

virtual Time ns3::ndn::RttEstimator::RetransmitTimeout ( )
pure virtual

Returns the estimated RTO.

Pure virtual function.

Returns
the estimated RTO.

Implemented in ns3::ndn::RttMeanDeviation.

◆ Copy()

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

Implemented in ns3::ndn::RttMeanDeviation.

◆ IncreaseMultiplier()

void ns3::ndn::RttEstimator::IncreaseMultiplier ( )
virtual

Increase the estimation multiplier up to MaxMultiplier.

Definition at line 229 of file ndn-rtt-estimator.cpp.

References m_multiplier.

◆ ResetMultiplier()

void ns3::ndn::RttEstimator::ResetMultiplier ( )
virtual

Resets the estimation multiplier to 1.

Definition at line 237 of file ndn-rtt-estimator.cpp.

References m_multiplier.

Referenced by ns3::ndn::RttMeanDeviation::AckSeq(), AckSeq(), and Reset().

◆ Reset()

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

Resets the estimation to its initial state.

Reimplemented in ns3::ndn::RttMeanDeviation.

Definition at line 244 of file ndn-rtt-estimator.cpp.

References m_currentEstimatedRtt, m_history, m_nSamples, and ResetMultiplier().

Referenced by ns3::ndn::RttMeanDeviation::Reset().

◆ SetMinRto()

void ns3::ndn::RttEstimator::SetMinRto ( Time  minRto)

Sets the Minimum RTO.

Parameters
minRtoThe minimum RTO returned by the estimator.

Definition at line 70 of file ndn-rtt-estimator.cpp.

References m_minRto.

Referenced by GetTypeId().

◆ GetMinRto()

Time ns3::ndn::RttEstimator::GetMinRto ( void  ) const

Get the Minimum RTO.

Returns
The minimum RTO returned by the estimator.

Definition at line 76 of file ndn-rtt-estimator.cpp.

References m_minRto.

Referenced by GetTypeId().

◆ SetMaxRto()

void ns3::ndn::RttEstimator::SetMaxRto ( Time  maxRto)

Sets the Maximum RTO.

Parameters
minRtoThe maximum RTO returned by the estimator.

Definition at line 82 of file ndn-rtt-estimator.cpp.

References m_maxRto.

Referenced by GetTypeId().

◆ GetMaxRto()

Time ns3::ndn::RttEstimator::GetMaxRto ( void  ) const

Get the Maximum RTO.

Returns
The maximum RTO returned by the estimator.

Definition at line 88 of file ndn-rtt-estimator.cpp.

References m_maxRto.

Referenced by GetTypeId().

◆ SetCurrentEstimate()

void ns3::ndn::RttEstimator::SetCurrentEstimate ( Time  estimate)

Sets the current RTT estimate (forcefully).

Parameters
estimateThe current RTT estimate.

Definition at line 94 of file ndn-rtt-estimator.cpp.

References m_currentEstimatedRtt.

◆ GetCurrentEstimate()

Time ns3::ndn::RttEstimator::GetCurrentEstimate ( void  ) const

gets the current RTT estimate.

Returns
The current RTT estimate.

Definition at line 100 of file ndn-rtt-estimator.cpp.

References m_currentEstimatedRtt.

Member Data Documentation

◆ m_currentEstimatedRtt

Time ns3::ndn::RttEstimator::m_currentEstimatedRtt
protected

◆ m_minRto

Time ns3::ndn::RttEstimator::m_minRto
protected

◆ m_maxRto

Time ns3::ndn::RttEstimator::m_maxRto
protected

◆ m_nSamples

uint32_t ns3::ndn::RttEstimator::m_nSamples
protected

Definition at line 182 of file ndn-rtt-estimator.hpp.

Referenced by ns3::ndn::RttMeanDeviation::Measurement(), and Reset().

◆ m_multiplier

uint16_t ns3::ndn::RttEstimator::m_multiplier
protected

◆ m_history

RttHistory_t ns3::ndn::RttEstimator::m_history
protected

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