Public Member Functions | Protected Member Functions | Protected Attributes

TCPNoCongestionControl Class Reference

#include <TCPNoCongestionControl.h>

Inheritance diagram for TCPNoCongestionControl:
TCPBaseAlg TCPAlgorithm

List of all members.

Public Member Functions

 TCPNoCongestionControl ()
virtual void initialize ()
virtual void receivedDataAck (uint32 firstSeqAcked)

Protected Member Functions

virtual TCPStateVariablescreateStateVariables ()
virtual void processRexmitTimer (TCPEventCode &event)

Protected Attributes

TCPNoCongestionControlStateVariables *& state

Detailed Description

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.


Constructor & Destructor Documentation

TCPNoCongestionControl::TCPNoCongestionControl (  ) 

Member Function Documentation

virtual TCPStateVariables* TCPNoCongestionControl::createStateVariables (  )  [inline, protected, virtual]

Create and return a TCPNoCongestionControlStateVariables object.

Implements TCPAlgorithm.

Definition at line 41 of file TCPNoCongestionControl.h.

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();
}


Member Data Documentation

Reimplemented from TCPBaseAlg.

Definition at line 38 of file TCPNoCongestionControl.h.

Referenced by initialize().


The documentation for this class was generated from the following files: