|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
129 virtual std::string
GetName ()
const;
140 uint32_t bytesInFlight);
253 #endif // TCPILLINOIS_H
a unique identifier for an interface.
uint8_t m_rttLow
Number of RTTs da has stayed below d1.
virtual Ptr< TcpCongestionOps > Fork()
Copy the congestion control algorithm across sockets.
virtual uint32_t GetSsThresh(Ptr< const TcpSocketState > tcb, uint32_t bytesInFlight)
Get slow start threshold after congestion event.
uint32_t m_cntRtt
Number of RTT measurements during last RTT.
double m_betaBase
Base value of beta for standard AIMD.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void CalculateBeta(double da, double dm)
Calculate multiplicative decrease factor beta.
void CalculateAlpha(double da, double dm)
Calculate additive increase factor alpha.
TcpCongState_t
Definition of the Congestion state machine.
static TypeId GetTypeId(void)
Get the type ID.
void Reset(const SequenceNumber32 &nextTxSequence)
Reset Illinois parameters.
virtual void IncreaseWindow(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked)
Adjust cwnd following Illinois congestion avoidance algorithm.
bool m_rttAbove
True when da > d1.
Smart pointer class similar to boost::intrusive_ptr.
An implementation of TCP Illinois algorithm.
double m_beta
Multiplicative decrease factor.
virtual void PktsAcked(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked, const Time &rtt)
Measure RTT for each ACK Keep track of min and max RTT.
double m_alphaBase
Base value of alpha for standard AIMD.
Simulation virtual time values and global simulation resolution.
virtual std::string GetName() const
Get the name of the congestion control algorithm.
double m_alphaMax
Maximum alpha threshold.
Time m_maxRtt
Maximum of all RTT measurements.
Time CalculateAvgDelay() const
Calculate average queueing delay.
Time m_baseRtt
Minimum of all RTT measurements.
virtual void CongestionStateSet(Ptr< TcpSocketState > tcb, const TcpSocketState::TcpCongState_t newState)
Reset Illinois parameters to default values upon a loss.
void RecalcParam(uint32_t cWnd)
Recalculate alpha and beta every RTT.
double m_betaMax
Maximum beta threshold.
double m_alpha
Additive increase factor.
SequenceNumber32 m_endSeq
Right edge of current RTT.
double m_betaMin
Minimum beta threshold.
The NewReno implementation.
uint32_t m_ackCnt
Number of received ACK.
double m_alphaMin
Minimum alpha threshold.
uint32_t m_theta
Number of RTTs required before setting alpha to its max.
TcpIllinois(void)
Create an unbound tcp socket.
uint32_t m_winThresh
Window threshold for adaptive sizing.
virtual ~TcpIllinois(void)
Time CalculateMaxDelay() const
Calculate maximum queueing delay.
Time m_sumRtt
Sum of all RTT measurements during last RTT.