RTT/RTO estimator. More...
#include <rtt-estimator.hpp>
Classes | |
struct | Options |
Public Member Functions | |
RttEstimator (shared_ptr< const Options > options=nullptr) | |
Constructor. More... | |
void | addMeasurement (time::nanoseconds rtt, size_t nExpectedSamples=1) |
Records a new RTT measurement. More... | |
bool | hasSamples () const |
time::nanoseconds | getEstimatedRto () const |
Returns the estimated RTO value. More... | |
time::nanoseconds | getSmoothedRtt () const |
Returns the smoothed RTT value (SRTT). More... | |
time::nanoseconds | getRttVariation () const |
Returns the RTT variation (RTTVAR). More... | |
void | backoffRto () |
Backoff RTO by a factor of Options::rtoBackoffMultiplier. More... | |
Protected Attributes | |
shared_ptr< const Options > | m_options |
RTT/RTO estimator.
This class implements the "Mean-Deviation" RTT estimator, as discussed in RFC 6298, with the modifications to RTO calculation described in RFC 7323 Appendix G.
Definition at line 41 of file rtt-estimator.hpp.
|
explicit |
Constructor.
options | options for the estimator; if nullptr, a default set of options is used |
Definition at line 32 of file rtt-estimator.cpp.
References m_options.
void ndn::util::RttEstimator::addMeasurement | ( | time::nanoseconds | rtt, |
size_t | nExpectedSamples = 1 |
||
) |
Records a new RTT measurement.
rtt | the sampled RTT |
nExpectedSamples | number 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. |
Definition at line 46 of file rtt-estimator.cpp.
References ndn::time::abs(), ns3::alpha, ndn::clamp(), hasSamples(), and m_options.
Referenced by ndn::util::RttEstimatorWithStats::addMeasurement(), nfd::face::LpReliability::processIncomingPacket(), and nfd::fw::asf::FaceInfo::recordRtt().
|
inline |
Definition at line 74 of file rtt-estimator.hpp.
Referenced by addMeasurement().
|
inline |
Returns the estimated RTO value.
Definition at line 83 of file rtt-estimator.hpp.
Referenced by nfd::face::LpReliability::handleOutgoing(), and nfd::fw::asf::FaceInfo::scheduleTimeout().
|
inline |
Returns the smoothed RTT value (SRTT).
hasSamples() == true
Definition at line 93 of file rtt-estimator.hpp.
Referenced by nfd::fw::asf::FaceInfo::getSrtt().
|
inline |
Returns the RTT variation (RTTVAR).
hasSamples() == true
Definition at line 103 of file rtt-estimator.hpp.
void ndn::util::RttEstimator::backoffRto | ( | ) |
Backoff RTO by a factor of Options::rtoBackoffMultiplier.
Definition at line 67 of file rtt-estimator.cpp.
References ndn::clamp(), and m_options.
|
protected |
Definition at line 115 of file rtt-estimator.hpp.
Referenced by addMeasurement(), backoffRto(), and RttEstimator().