ns-3
ns3::RttEstimator Class Reference

Base class for all RTT Estimators. More...

#include <rtt-estimator.h>

Inheritance diagram for ns3::RttEstimator:
Collaboration diagram for ns3::RttEstimator:

List of all members.

Public Member Functions

 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 Measurement (Time t)=0
 Add a new measurement to the estimator. Pure virtual function.
virtual Time RetransmitTimeout ()=0
 Returns the estimated RTO. Pure virtual function.
virtual Ptr< RttEstimatorCopy () const =0
virtual void IncreaseMultiplier ()
 Increase the estimation multiplier up to MaxMultiplier.
virtual void ResetMultiplier ()
 Resets the estimation multiplier to 1.
virtual void Reset ()
 Resets the estimation to its initial state.
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::RttEstimator.

Protected Attributes

Time m_currentEstimatedRtt
Time m_minRto
uint32_t m_nSamples
uint16_t m_multiplier

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
virtual void NotifyNewAggregate (void)
virtual void DoStart (void)
virtual void DoDispose (void)
 Object (const Object &o)

Detailed Description

Base class for all RTT Estimators.


Member Function Documentation

Time ns3::RttEstimator::AckSeq ( SequenceNumber32  ackSeq)
virtual

Note that a particular ack sequence has been received.

Parameters:
ackSeqthe ack sequence number.
Returns:
The measured RTT for this ack.

References Measurement(), ns3::Now(), NS_LOG_FUNCTION, ResetMultiplier(), and ns3::Seconds().

Referenced by ns3::TcpSocketBase::EstimateRtt().

Time ns3::RttEstimator::GetCurrentEstimate ( void  ) const

gets the current RTT estimate.

Returns:
The current RTT estimate.
Time ns3::RttEstimator::GetMinRto ( void  ) const

Get the Minimum RTO.

Returns:
The minimum RTO returned by the estimator.

Referenced by GetTypeId().

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

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

Attributes defined for this type:

  • 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::Object.

Reimplemented in ns3::RttMeanDeviation.

References GetMinRto(), ns3::Seconds(), SetMinRto(), and ns3::TypeId::SetParent().

virtual void ns3::RttEstimator::Measurement ( Time  t)
pure virtual

Add a new measurement to the estimator. Pure virtual function.

Parameters:
tthe new RTT measure.

Implemented in ns3::RttMeanDeviation.

Referenced by AckSeq().

virtual Time ns3::RttEstimator::RetransmitTimeout ( )
pure virtual

Returns the estimated RTO. Pure virtual function.

Returns:
the estimated RTO.

Implemented in ns3::RttMeanDeviation.

Referenced by ns3::TcpSocketBase::DoPeerClose(), ns3::TcpSocketBase::SendDataPacket(), and ns3::TcpSocketBase::SendEmptyPacket().

void ns3::RttEstimator::SentSeq ( SequenceNumber32  seq,
uint32_t  size 
)
virtual

Note that a particular sequence has been sent.

Parameters:
seqthe packet sequence number.
sizethe packet size.

References ns3::Simulator::Now(), and NS_LOG_FUNCTION.

Referenced by ns3::TcpSocketBase::SendDataPacket().

void ns3::RttEstimator::SetCurrentEstimate ( Time  estimate)

Sets the current RTT estimate (forcefully).

Parameters:
estimateThe current RTT estimate.

References NS_LOG_FUNCTION.

void ns3::RttEstimator::SetMinRto ( Time  minRto)

Sets the Minimum RTO.

Parameters:
minRtoThe minimum RTO returned by the estimator.

References NS_LOG_FUNCTION.

Referenced by GetTypeId().


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