Public Member Functions | Protected Member Functions | Protected Attributes

tcp_old::TCPNoCongestionControl Class Reference

#include <TCPNoCongestionControl_old.h>

Inheritance diagram for tcp_old::TCPNoCongestionControl:
tcp_old::TCPBaseAlg tcp_old::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 36 of file TCPNoCongestionControl_old.h.


Constructor & Destructor Documentation

TCPNoCongestionControl::TCPNoCongestionControl (  ) 

Member Function Documentation

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.

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


Member Data Documentation


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