#include <TCPNoCongestionControl.h>
Inheritance diagram for TCPNoCongestionControl:
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 |
|
Ctor 00024 : TCPBaseAlg(), 00025 state((TCPNoCongestionControlStateVariables *&)TCPAlgorithm::state) 00026 { 00027 }
|
|
Create and return a TCPNoCongestionControlStateVariables object. Implements TCPAlgorithm. 00042 { 00043 return new TCPNoCongestionControlStateVariables(); 00044 }
|
|
Initialize state vars Reimplemented from TCPBaseAlg. 00030 { 00031 TCPBaseAlg::initialize(); 00032 00033 // set congestion window to a practically infinite value 00034 state->snd_cwnd = 0x7fffffff; 00035 }
|
|
Redefine what should happen on retransmission Reimplemented from TCPBaseAlg. 00038 { 00039 TCPBaseAlg::processRexmitTimer(event); 00040 if (event==TCP_E_ABORT) 00041 return; 00042 00043 // Tahoe-style retransmission: only one segment 00044 conn->retransmitOneSegment(); 00045 }
|
|
Redefine what should happen when data got acked, to add congestion window management Reimplemented from TCPBaseAlg. 00048 { 00049 TCPBaseAlg::receivedDataAck(firstSeqAcked); 00050 00051 // ack may have freed up some room in the window, try sending 00052 sendData(); 00053 }
|
|
Reimplemented from TCPBaseAlg. |