INET Framework for OMNeT++/OMNEST
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.


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.

void TCPNoCongestionControl::initialize ( ) [virtual]

Initialize state vars

Reimplemented from tcp_old::TCPBaseAlg.

{
    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.

{
    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.

{
    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: