74 .SetGroupName(
"Internet")
99 uint32_t unAckDataCount [[maybe_unused]],
100 uint32_t deliveredBytes [[maybe_unused]])
103 tcb->m_cWnd = tcb->m_ssThresh;
104 tcb->m_cWndInfl = tcb->m_ssThresh + (dupAckCount * tcb->m_segmentSize);
111 tcb->m_cWndInfl += tcb->m_segmentSize;
123 tcb->m_cWndInfl = tcb->m_ssThresh.Get();
129 return "TcpClassicRecovery";
135 return CopyObject<TcpClassicRecovery>(
this);
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
The Classic recovery implementation.
Ptr< TcpRecoveryOps > Fork() override
Copy the recovery algorithm across socket.
void EnterRecovery(Ptr< TcpSocketState > tcb, uint32_t dupAckCount, uint32_t unAckDataCount, uint32_t deliveredBytes) override
Performs variable initialization at the start of recovery.
void DoRecovery(Ptr< TcpSocketState > tcb, uint32_t deliveredBytes) override
Performs recovery based on the recovery algorithm.
void ExitRecovery(Ptr< TcpSocketState > tcb) override
Performs cwnd adjustments at the end of recovery.
std::string GetName() const override
Get the name of the recovery algorithm.
static TypeId GetTypeId()
Get the type ID.
TcpClassicRecovery()
Constructor.
~TcpClassicRecovery() override
Constructor.
static TypeId GetTypeId()
Get the type ID.
virtual void UpdateBytesSent(uint32_t bytesSent)
Keeps track of bytes sent during recovery phase.
TcpRecoveryOps()
Constructor.
~TcpRecoveryOps() override
Deconstructor.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.