RTT/RTO estimator. More...
#include <ndn-cxx/util/rtt-estimator.hpp>
Inheritance diagram for ndn::util::RttEstimator:
Collaboration diagram for ndn::util::RttEstimator:Classes | |
| struct | Options |
Public Member Functions | |
| RttEstimator (std::shared_ptr< const Options > options=nullptr) | |
| Constructor. More... | |
| void | addMeasurement (time::nanoseconds rtt, size_t nExpectedSamples=1) |
| Records a new RTT measurement. More... | |
| 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 |
Protected Attributes | |
| std::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 42 of file rtt-estimator.hpp.
|
explicit |
Constructor.
| options | options for the estimator; if nullptr, a default set of options is used |
Definition at line 31 of file rtt-estimator.cpp.
| 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 45 of file rtt-estimator.cpp.
| void ndn::util::RttEstimator::backoffRto | ( | ) |
Backoff RTO by a factor of Options::rtoBackoffMultiplier.
Definition at line 66 of file rtt-estimator.cpp.
|
inline |
Returns the estimated RTO value.
Definition at line 84 of file rtt-estimator.hpp.
|
inline |
Returns the RTT variation (RTTVAR).
hasSamples() == true Definition at line 104 of file rtt-estimator.hpp.
|
inline |
Returns the smoothed RTT value (SRTT).
hasSamples() == true Definition at line 94 of file rtt-estimator.hpp.
|
inline |
Definition at line 75 of file rtt-estimator.hpp.
|
protected |
Definition at line 116 of file rtt-estimator.hpp.