TCPNoCongestionControl Class Reference

#include <TCPNoCongestionControl.h>

Inheritance diagram for TCPNoCongestionControl:

TCPBaseAlg TCPAlgorithm List of all members.

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.


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


Constructor & Destructor Documentation

TCPNoCongestionControl::TCPNoCongestionControl (  ) 

Ctor


Member Function Documentation

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

Create and return a TCPNoCongestionControlStateVariables object.

Implements TCPAlgorithm.

00042                                                       {
00043         return new TCPNoCongestionControlStateVariables();
00044     }

void TCPNoCongestionControl::initialize (  )  [virtual]

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 }

void TCPNoCongestionControl::processRexmitTimer ( TCPEventCode event  )  [protected, virtual]

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 }

void TCPNoCongestionControl::receivedDataAck ( uint32  firstSeqAcked  )  [virtual]

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 }


Member Data Documentation

TCPNoCongestionControlStateVariables*& TCPNoCongestionControl::state [protected]

Reimplemented from TCPBaseAlg.


The documentation for this class was generated from the following files:
Generated on Wed Apr 4 13:20:24 2007 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.7