25 #ifndef RTT_ESTIMATOR_H
26 #define RTT_ESTIMATOR_H
29 #include "ns3/sequence-number.h"
30 #include "ns3/nstime.h"
31 #include "ns3/object.h"
138 virtual void Reset ();
228 void Gain (
double g);
Time m_currentEstimatedRtt
Current estimate.
Time m_variance
Current variance.
keep track of time values and allow control of global simulation resolution
smart pointer class similar to boost::intrusive_ptr
virtual Ptr< RttEstimator > Copy() const =0
Copy object.
static TypeId GetTypeId(void)
Get the type ID.
RttHistory_t m_history
List of sent packet.
double m_gain
Filter gain.
virtual Time RetransmitTimeout()=0
Returns the estimated RTO.
The "Mean--Deviation" RTT estimator, as discussed by Van Jacobson.
bool retx
True if this has been retransmitted.
uint32_t count
Number of bytes sent.
static TypeId GetTypeId(void)
Get the type ID.
Time m_initialEstimatedRtt
Initial RTT estimation.
virtual TypeId GetInstanceTypeId(void) const
uint16_t m_multiplier
RTO Multiplier.
uint16_t m_maxMultiplier
Maximum RTO Multiplier.
Time time
Time this one was sent.
virtual void ResetMultiplier()
Resets the estimation multiplier to 1.
Time GetCurrentEstimate(void) const
gets the current RTT estimate.
Base class for all RTT Estimators.
RttHistory(SequenceNumber32 s, uint32_t c, Time t)
Constructor - builds an RttHistory with the given parameters.
std::deque< RttHistory > RttHistory_t
Container for RttHistory objects.
virtual void Measurement(Time t)=0
Add a new measurement to the estimator.
virtual void SentSeq(SequenceNumber32 seq, uint32_t size)
Note that a particular sequence has been sent.
Time GetMinRto(void) const
Get the Minimum RTO.
uint32_t m_nSamples
Number of samples.
Time RetransmitTimeout()
Returns the estimated RTO.
void SetMinRto(Time minRto)
Sets the Minimum RTO.
Time m_minRto
minimum value of the timeout
virtual void Reset()
Resets the estimation to its initial state.
void Reset()
Resets the estimator.
virtual void IncreaseMultiplier()
Increase the estimation multiplier up to MaxMultiplier.
Ptr< RttEstimator > Copy() const
Copy object.
void Measurement(Time measure)
Add a new measurement to the estimator.
virtual TypeId GetInstanceTypeId(void) const
SequenceNumber32 m_next
Next expected sequence to be sent.
Helper class to store RTT measurements.
SequenceNumber32 seq
First sequence number in packet sent.
void SetCurrentEstimate(Time estimate)
Sets the current RTT estimate (forcefully).
virtual void ClearSent()
Clear all history entries.
void Gain(double g)
Sets the estimator Gain.
a base class which provides memory management and object aggregation
a unique identifier for an interface.
virtual Time AckSeq(SequenceNumber32 ackSeq)
Note that a particular ack sequence has been received.