Base class for all RTT Estimators. More...
#include <ndn-rtt-estimator.hpp>
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< RttEstimator > | Copy () 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 |
Base class for all RTT Estimators.
Definition at line 61 of file ndn-rtt-estimator.hpp.
ns3::ndn::RttEstimator::RttEstimator | ( | ) |
Definition at line 126 of file ndn-rtt-estimator.cpp.
References m_currentEstimatedRtt.
ns3::ndn::RttEstimator::RttEstimator | ( | const RttEstimator & | c | ) |
Definition at line 143 of file ndn-rtt-estimator.cpp.
|
virtual |
Definition at line 158 of file ndn-rtt-estimator.cpp.
|
virtual |
Note that a particular ack sequence has been received.
ackSeq | the ack sequence number. |
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.
|
virtual |
Clear all history entries.
Definition at line 220 of file ndn-rtt-estimator.cpp.
References m_history.
|
pure virtual |
Implemented in ns3::ndn::RttMeanDeviation.
Time ns3::ndn::RttEstimator::GetCurrentEstimate | ( | void | ) | const |
gets the current RTT estimate.
Definition at line 100 of file ndn-rtt-estimator.cpp.
References m_currentEstimatedRtt.
|
virtual |
Reimplemented in ns3::ndn::RttMeanDeviation.
Definition at line 164 of file ndn-rtt-estimator.cpp.
References GetTypeId().
Time ns3::ndn::RttEstimator::GetMaxRto | ( | void | ) | const |
Get the Maximum RTO.
Definition at line 88 of file ndn-rtt-estimator.cpp.
References m_maxRto.
Referenced by GetTypeId().
Time ns3::ndn::RttEstimator::GetMinRto | ( | void | ) | const |
Get the Minimum RTO.
Definition at line 76 of file ndn-rtt-estimator.cpp.
References m_minRto.
Referenced by GetTypeId().
|
static |
Definition at line 47 of file ndn-rtt-estimator.cpp.
References GetMaxRto(), GetMinRto(), SetMaxRto(), and SetMinRto().
Referenced by GetInstanceTypeId().
|
virtual |
Increase the estimation multiplier up to MaxMultiplier.
Definition at line 229 of file ndn-rtt-estimator.cpp.
References m_multiplier.
|
pure virtual |
Add a new measurement to the estimator.
Pure virtual function.
t | the new RTT measure. |
Implemented in ns3::ndn::RttMeanDeviation.
Referenced by AckSeq().
|
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().
|
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().
|
pure virtual |
Returns the estimated RTO.
Pure virtual function.
Implemented in ns3::ndn::RttMeanDeviation.
|
virtual |
Note that a particular sequence has been sent.
seq | the packet sequence number. |
size | the packet size. |
Reimplemented in ns3::ndn::RttMeanDeviation.
Definition at line 170 of file ndn-rtt-estimator.cpp.
References m_history.
void ns3::ndn::RttEstimator::SetCurrentEstimate | ( | Time | estimate | ) |
Sets the current RTT estimate (forcefully).
estimate | The current RTT estimate. |
Definition at line 94 of file ndn-rtt-estimator.cpp.
References m_currentEstimatedRtt.
void ns3::ndn::RttEstimator::SetMaxRto | ( | Time | maxRto | ) |
Sets the Maximum RTO.
minRto | The maximum RTO returned by the estimator. |
Definition at line 82 of file ndn-rtt-estimator.cpp.
References m_maxRto.
Referenced by GetTypeId().
void ns3::ndn::RttEstimator::SetMinRto | ( | Time | minRto | ) |
Sets the Minimum RTO.
minRto | The minimum RTO returned by the estimator. |
Definition at line 70 of file ndn-rtt-estimator.cpp.
References m_minRto.
Referenced by GetTypeId().
|
protected |
Definition at line 179 of file ndn-rtt-estimator.hpp.
Referenced by GetCurrentEstimate(), ns3::ndn::RttMeanDeviation::Measurement(), Reset(), ns3::ndn::RttMeanDeviation::RetransmitTimeout(), RttEstimator(), and SetCurrentEstimate().
|
protected |
Definition at line 184 of file ndn-rtt-estimator.hpp.
Referenced by ns3::ndn::RttMeanDeviation::AckSeq(), AckSeq(), ClearSent(), Reset(), ns3::ndn::RttMeanDeviation::SentSeq(), and SentSeq().
|
protected |
Definition at line 181 of file ndn-rtt-estimator.hpp.
Referenced by GetMaxRto(), ns3::ndn::RttMeanDeviation::RetransmitTimeout(), and SetMaxRto().
|
protected |
Definition at line 180 of file ndn-rtt-estimator.hpp.
Referenced by GetMinRto(), ns3::ndn::RttMeanDeviation::RetransmitTimeout(), and SetMinRto().
|
protected |
Definition at line 183 of file ndn-rtt-estimator.hpp.
Referenced by IncreaseMultiplier(), ResetMultiplier(), and ns3::ndn::RttMeanDeviation::RetransmitTimeout().
|
protected |
Definition at line 182 of file ndn-rtt-estimator.hpp.
Referenced by ns3::ndn::RttMeanDeviation::Measurement(), and Reset().