ndn::util::RttEstimatorWithStats Class Reference

RTT/RTO estimator that also maintains min/max/average RTT statistics. More...

#include <ndn-cxx/util/rtt-estimator.hpp>

+ Inheritance diagram for ndn::util::RttEstimatorWithStats:
+ Collaboration diagram for ndn::util::RttEstimatorWithStats:

Public Member Functions

void addMeasurement (time::nanoseconds rtt, size_t nExpectedSamples=1)
 Records a new RTT measurement. More...
 
time::nanoseconds getAvgRtt () const
 Returns the average RTT. More...
 
time::nanoseconds getMaxRtt () const
 Returns the maximum RTT observed. More...
 
time::nanoseconds getMinRtt () const
 Returns the minimum RTT observed. More...
 

Private Member Functions

void backoffRto ()
 Backoff RTO by a factor of Options::rtoBackoffMultiplier. More...
 
time::nanoseconds getEstimatedRto () const
 Returns the estimated RTO value. More...
 
time::nanoseconds getRttVariation () const
 Returns the RTT variation (RTTVAR). More...
 
time::nanoseconds getSmoothedRtt () const
 Returns the smoothed RTT value (SRTT). More...
 
bool hasSamples () const
 

Private Attributes

shared_ptr< const Optionsm_options
 

Detailed Description

RTT/RTO estimator that also maintains min/max/average RTT statistics.

Definition at line 126 of file rtt-estimator.hpp.

Member Function Documentation

◆ addMeasurement()

void ndn::util::RttEstimatorWithStats::addMeasurement ( time::nanoseconds  rtt,
size_t  nExpectedSamples = 1 
)

Records a new RTT measurement.

Parameters
rttthe sampled RTT
nExpectedSamplesnumber of expected samples, must be greater than 0. It should be set to the current number of in-flight Interests. Please refer to Appendix G of RFC 7323 for details.
Note
Do not call this function with RTT samples from retransmitted Interests (per Karn's algorithm).

Definition at line 74 of file rtt-estimator.cpp.

◆ getAvgRtt()

time::nanoseconds ndn::util::RttEstimatorWithStats::getAvgRtt ( ) const
inline

Returns the average RTT.

Definition at line 171 of file rtt-estimator.hpp.

◆ getMaxRtt()

time::nanoseconds ndn::util::RttEstimatorWithStats::getMaxRtt ( ) const
inline

Returns the maximum RTT observed.

Definition at line 162 of file rtt-estimator.hpp.

◆ getMinRtt()

time::nanoseconds ndn::util::RttEstimatorWithStats::getMinRtt ( ) const
inline

Returns the minimum RTT observed.

Definition at line 153 of file rtt-estimator.hpp.