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.

00041                                                       {
00042         return new TCPNoCongestionControlStateVariables();
00043     }

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

Redefine what should happen on retransmission

Reimplemented from TCPBaseAlg.

00037 {
00038     TCPBaseAlg::processRexmitTimer(event);
00039     if (event==TCP_E_ABORT)
00040         return;
00041 
00042     // Tahoe-style retransmission: only one segment
00043     conn->retransmitOneSegment();
00044 }

void TCPNoCongestionControl::initialize (  )  [virtual]

Initialize state vars

Reimplemented from TCPBaseAlg.

00029 {
00030     TCPBaseAlg::initialize();
00031 
00032     // set congestion window to a practically infinite value
00033     state->snd_cwnd = 0x7fffffff;
00034 }

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

Redefine what should happen when data got acked, to add congestion window management

Reimplemented from TCPBaseAlg.

00047 {
00048     TCPBaseAlg::receivedDataAck(firstSeqAcked);
00049 
00050     // ack may have freed up some room in the window, try sending
00051     sendData();
00052 }


Member Data Documentation

Reimplemented from TCPBaseAlg.

Referenced by initialize().


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

Generated on Fri Mar 20 18:51:22 2009 for INET Framework for OMNeT++/OMNEST by  doxygen 1.5.5