#include <TCPNoCongestionControl.h>
Public Member Functions | |
TCPNoCongestionControl () | |
virtual void | initialize () |
virtual void | receivedDataAck (uint32 firstSeqAcked) |
Protected Member Functions | |
virtual TCPStateVariables * | createStateVariables () |
virtual void | processRexmitTimer (TCPEventCode &event) |
Protected Attributes | |
TCPNoCongestionControlStateVariables *& | state |
TCP with no congestion control (i.e. congestion window kept very large). Can be used to demonstrate effect of lack of congestion control.
Definition at line 35 of file TCPNoCongestionControl.h.
TCPNoCongestionControl::TCPNoCongestionControl | ( | ) |
Ctor
Definition at line 23 of file flavours/TCPNoCongestionControl.cc.
virtual TCPStateVariables* TCPNoCongestionControl::createStateVariables | ( | ) | [inline, protected, virtual] |
Create and return a TCPNoCongestionControlStateVariables object.
Implements TCPAlgorithm.
Definition at line 41 of file TCPNoCongestionControl.h.
{ return new TCPNoCongestionControlStateVariables(); }
void TCPNoCongestionControl::initialize | ( | ) | [virtual] |
Initialize state vars
Reimplemented from TCPBaseAlg.
Definition at line 28 of file flavours/TCPNoCongestionControl.cc.
{ TCPBaseAlg::initialize(); // set congestion window to a practically infinite value state->snd_cwnd = 0x7fffffff; }
void TCPNoCongestionControl::processRexmitTimer | ( | TCPEventCode & | event | ) | [protected, virtual] |
Redefine what should happen on retransmission
Reimplemented from TCPBaseAlg.
Definition at line 36 of file flavours/TCPNoCongestionControl.cc.
{ TCPBaseAlg::processRexmitTimer(event); if (event==TCP_E_ABORT) return; // Tahoe-style retransmission: only one segment conn->retransmitOneSegment(true); }
void TCPNoCongestionControl::receivedDataAck | ( | uint32 | firstSeqAcked | ) | [virtual] |
Redefine what should happen when data got acked, to add congestion window management
Reimplemented from TCPBaseAlg.
Definition at line 46 of file flavours/TCPNoCongestionControl.cc.
{ TCPBaseAlg::receivedDataAck(firstSeqAcked); // ack may have freed up some room in the window, try sending sendData(); }
Reimplemented from TCPBaseAlg.
Definition at line 38 of file TCPNoCongestionControl.h.
Referenced by initialize().