78 std::string
GetName()
const override;
105 void SetDoSs(SlowStartType doSS);
Smart pointer class similar to boost::intrusive_ptr.
An implementation of LEDBAT.
static TypeId GetTypeId()
Get the type ID.
SlowStartType m_doSs
Permissible Slow Start State.
std::string GetName() const override
Get the name of the TCP flavour.
void UpdateBaseDelay(uint32_t owd)
Update the base delay buffer.
uint32_t m_minCwnd
Minimum cWnd value mentioned in RFC 6817.
void IncreaseWindow(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked) override
Adjust cwnd following LEDBAT algorithm.
uint32_t m_flag
LEDBAT Flag.
uint32_t BaseDelay()
Return the value of base delay.
void SetDoSs(SlowStartType doSS)
Change the Slow Start Capability.
double m_gain
GAIN value from RFC.
State
The state of LEDBAT.
@ LEDBAT_CAN_SS
If LEDBAT allows Slow Start.
@ LEDBAT_VALID_OWD
If valid timestamps are present.
Ptr< TcpCongestionOps > Fork() override
Copy the congestion control algorithm across sockets.
void AddDelay(OwdCircBuf &cb, uint32_t owd, uint32_t maxlen)
Add new delay to the buffers.
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.
void PktsAcked(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked, const Time &rtt) override
Get information from the acked packet.
TcpLedbat()
Create an unbound tcp socket.
~TcpLedbat() override
Destructor.
void CongestionAvoidance(Ptr< TcpSocketState > tcb, uint32_t segmentsAcked) override
Reduce Congestion.
void InitCircBuf(OwdCircBuf &buffer)
Initialise a new buffer.
static uint32_t MinCircBuf(OwdCircBuf &b)
Return the minimum delay of the buffer.
Time m_target
Target Queue Delay.
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.
uint32_t(* FilterFunction)(OwdCircBuf &)
Filter function used by LEDBAT for current delay.
OwdCircBuf m_baseHistory
Buffer to store the base delay.
uint32_t CurrentDelay(FilterFunction filter)
Return the value of current delay.
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.