89 virtual std::string
GetName ()
const;
An implementation of LEDBAT.
SlowStartType m_doSs
Permissible Slow Start State.
void AddDelay(struct OwdCircBuf &cb, uint32_t owd, uint32_t maxlen)
Add new delay to the buffers.
void UpdateBaseDelay(uint32_t owd)
Update the base delay buffer.
uint32_t m_minCwnd
Minimum cWnd value mentioned in RFC 6817.
void InitCircBuf(struct OwdCircBuf &buffer)
Initialise a new buffer.
uint32_t m_flag
LEDBAT Flag.
uint32_t BaseDelay()
Return the value of base delay.
static TypeId GetTypeId(void)
Get the type ID.
void SetDoSs(SlowStartType doSS)
Change the Slow Start Capability.
double m_gain
GAIN value from RFC.
uint32_t(* FilterFunction)(struct OwdCircBuf &)
Filter function used by LEDBAT for current delay.
State
The state of LEDBAT.
@ LEDBAT_CAN_SS
If LEDBAT allows Slow Start.
@ LEDBAT_VALID_OWD
If valid timestamps are present.
virtual void CongestionAvoidance(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked)
Reduce Congestion.
static uint32_t MinCircBuf(struct OwdCircBuf &b)
Return the minimum delay of the buffer.
OwdCircBuf m_noiseFilter
Buffer to store the current delay.
SlowStartType
The slowstart types.
@ DO_NOT_SLOWSTART
Do not Slow Start.
@ DO_SLOWSTART
Do NewReno Slow Start.
virtual Ptr< TcpCongestionOps > Fork()
Copy the congestion control algorithm across sockets.
TcpLedbat(void)
Create an unbound tcp socket.
Time m_target
Target Queue Delay.
virtual void IncreaseWindow(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked)
Adjust cwnd following LEDBAT algorithm.
int32_t m_sndCwndCnt
The congestion window addition parameter.
uint32_t m_baseHistoLen
Length of base delay history buffer.
uint32_t m_noiseFilterLen
Length of current delay buffer.
uint64_t m_lastRollover
Timestamp of last added delay.
virtual ~TcpLedbat(void)
Destructor.
virtual void PktsAcked(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked, const Time &rtt)
Get information from the acked packet.
OwdCircBuf m_baseHistory
Buffer to store the base delay.
uint32_t CurrentDelay(FilterFunction filter)
Return the value of current delay.
virtual std::string GetName() const
Get the name of the TCP flavour.
The NewReno implementation.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Buffer structure to store delays.
uint32_t min
The index of minimum value.
std::vector< uint32_t > buffer
Vector to store the delay.