ns-3
ns3::RttMeanDeviation Class Reference

The "Mean--Deviation" RTT estimator, as discussed by Van Jacobson. More...

#include <rtt-estimator.h>

Inheritance diagram for ns3::RttMeanDeviation:
Collaboration diagram for ns3::RttMeanDeviation:

List of all members.

Public Member Functions

 RttMeanDeviation (const RttMeanDeviation &)
void Measurement (Time measure)
 Add a new measurement to the estimator.
Time RetransmitTimeout ()
 Returns the estimated RTO.
Ptr< RttEstimatorCopy () const
void Reset ()
 Resets sthe estimator.
void Gain (double g)
 Sets the estimator Gain.
- Public Member Functions inherited from ns3::RttEstimator
 RttEstimator (const RttEstimator &)
virtual void SentSeq (SequenceNumber32 seq, uint32_t size)
 Note that a particular sequence has been sent.
virtual Time AckSeq (SequenceNumber32 ackSeq)
 Note that a particular ack sequence has been received.
virtual void ClearSent ()
 Clear all history entries.
virtual void IncreaseMultiplier ()
 Increase the estimation multiplier up to MaxMultiplier.
virtual void ResetMultiplier ()
 Resets the estimation multiplier to 1.
void SetMinRto (Time minRto)
 Sets the Minimum RTO.
Time GetMinRto (void) const
 Get the Minimum RTO.
void SetCurrentEstimate (Time estimate)
 Sets the current RTT estimate (forcefully).
Time GetCurrentEstimate (void) const
 gets the current RTT estimate.
- Public Member Functions inherited from ns3::Object
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Dispose (void)
void AggregateObject (Ptr< Object > other)
AggregateIterator GetAggregateIterator (void) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
uint32_t GetReferenceCount (void) const
- Public Member Functions inherited from ns3::ObjectBase
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::RttMeanDeviation.

Additional Inherited Members

- Protected Attributes inherited from ns3::RttEstimator
Time m_currentEstimatedRtt
Time m_minRto
uint32_t m_nSamples
uint16_t m_multiplier

Detailed Description

The "Mean--Deviation" RTT estimator, as discussed by Van Jacobson.

This class implements the "Mean--Deviation" RTT estimator, as discussed by Van Jacobson and Michael J. Karels, in "Congestion Avoidance and Control", SIGCOMM 88, Appendix A


Member Function Documentation

void ns3::RttMeanDeviation::Gain ( double  g)

Sets the estimator Gain.

Parameters:
gthe gain, where 0 < g < 1.

References NS_ASSERT_MSG, and NS_LOG_FUNCTION.

TypeId ns3::RttMeanDeviation::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::RttMeanDeviation.

Attributes defined for this type:

  • Gain: Gain used in estimating the RTT, must be 0 < Gain < 1
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.1
    • Flags: construct write read

Attributes defined in parent class ns3::RttEstimator:

  • MaxMultiplier: Maximum RTO Multiplier
  • InitialEstimation: Initial RTT estimation
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +1000000000.0ns
    • Flags: construct write read
  • MinRTO: Minimum retransmit timeout value
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +200000000.0ns
    • Flags: construct write read

No TraceSources defined for this type.

Reimplemented from ns3::RttEstimator.

References ns3::TypeId::SetParent().

Referenced by ns3::TcpL4Protocol::GetTypeId().

void ns3::RttMeanDeviation::Measurement ( Time  measure)
virtual

Add a new measurement to the estimator.

Parameters:
measurethe new RTT measure.

Implements ns3::RttEstimator.

References ns3::Time::FromDouble(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::Time::ToDouble().

Time ns3::RttMeanDeviation::RetransmitTimeout ( )
virtual

Returns the estimated RTO.

Returns:
the estimated RTO.

Implements ns3::RttEstimator.

References ns3::Time::FromInteger(), ns3::Time::GetSeconds(), NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::Time::ToInteger().


The documentation for this class was generated from the following files: