#include <TCPNoCongestionControl_old.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 36 of file TCPNoCongestionControl_old.h.
TCPNoCongestionControl::TCPNoCongestionControl | ( | ) |
Ctor
Definition at line 25 of file old/flavours/TCPNoCongestionControl.cc.
virtual TCPStateVariables* tcp_old::TCPNoCongestionControl::createStateVariables | ( | ) | [inline, protected, virtual] |
Create and return a TCPNoCongestionControlStateVariables object.
Implements tcp_old::TCPAlgorithm.
Definition at line 42 of file TCPNoCongestionControl_old.h.
{ return new TCPNoCongestionControlStateVariables(); }
void TCPNoCongestionControl::initialize | ( | ) | [virtual] |
Initialize state vars
Reimplemented from tcp_old::TCPBaseAlg.
Definition at line 30 of file old/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 tcp_old::TCPBaseAlg.
Definition at line 38 of file old/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 tcp_old::TCPBaseAlg.
Definition at line 48 of file old/flavours/TCPNoCongestionControl.cc.
{ TCPBaseAlg::receivedDataAck(firstSeqAcked); // ack may have freed up some room in the window, try sending sendData(); }
Reimplemented from tcp_old::TCPBaseAlg.
Definition at line 39 of file TCPNoCongestionControl_old.h.
Referenced by initialize().