INET Framework for OMNeT++/OMNEST
inet::tcp::TCPTahoeRenoFamily Class Reference

Provides utility functions to implement TCPTahoe, TCPReno and TCPNewReno. More...

#include <TCPTahoeRenoFamily.h>

Inheritance diagram for inet::tcp::TCPTahoeRenoFamily:
inet::tcp::TCPBaseAlg inet::tcp::TCPAlgorithm inet::tcp::TCPNewReno inet::tcp::TCPReno inet::tcp::TCPTahoe

Public Member Functions

 TCPTahoeRenoFamily ()
 Ctor. More...
 
- Public Member Functions inherited from inet::tcp::TCPBaseAlg
 TCPBaseAlg ()
 Ctor. More...
 
virtual ~TCPBaseAlg ()
 Virtual dtor. More...
 
virtual void initialize () override
 Create timers, etc. More...
 
virtual void established (bool active) override
 Called when the connection is going to ESTABLISHED from SYN_SENT or SYN_RCVD. More...
 
virtual void connectionClosed () override
 Called when the connection closes, it should cancel all running timers. More...
 
virtual void processTimer (cMessage *timer, TCPEventCode &event) override
 Process REXMIT, PERSIST, DELAYED-ACK and KEEP-ALIVE timers. More...
 
virtual void sendCommandInvoked () override
 Called after user sent TCP_C_SEND command to us. More...
 
virtual void receivedOutOfOrderSegment () override
 Called after receiving data which are in the window, but not at its left edge (seq != rcv_nxt). More...
 
virtual void receiveSeqChanged () override
 Called after rcv_nxt got advanced, either because we received in-sequence data ("text" in RFC 793 lingo) or a FIN. More...
 
virtual void receivedDataAck (uint32 firstSeqAcked) override
 Called after we received an ACK which acked some data (that is, we could advance snd_una). More...
 
virtual void receivedDuplicateAck () override
 Called after we received a duplicate ACK (that is: ackNo == snd_una, no data in segment, segment doesn't carry window update, and also, we have unacked data). More...
 
virtual void receivedAckForDataNotYetSent (uint32 seq) override
 Called after we received an ACK for data not yet sent. More...
 
virtual void ackSent () override
 Called after we sent an ACK. More...
 
virtual void dataSent (uint32 fromseq) override
 Called after we sent data. More...
 
virtual void segmentRetransmitted (uint32 fromseq, uint32 toseq) override
 Called after we retransmitted segment. More...
 
virtual void restartRexmitTimer () override
 Restart REXMIT timer. More...
 
- Public Member Functions inherited from inet::tcp::TCPAlgorithm
 TCPAlgorithm ()
 Ctor. More...
 
virtual ~TCPAlgorithm ()
 Virtual dtor. More...
 
void setConnection (TCPConnection *_conn)
 Assign this object to a TCPConnection. More...
 
TCPStateVariablesgetStateVariables ()
 Creates and returns the TCP state variables. More...
 

Protected Attributes

TCPTahoeRenoFamilyStateVariables *& state
 
- Protected Attributes inherited from inet::tcp::TCPBaseAlg
TCPBaseAlgStateVariables *& state
 
cMessage * rexmitTimer
 
cMessage * persistTimer
 
cMessage * delayedAckTimer
 
cMessage * keepAliveTimer
 
cOutVector * cwndVector
 
cOutVector * ssthreshVector
 
cOutVector * rttVector
 
cOutVector * srttVector
 
cOutVector * rttvarVector
 
cOutVector * rtoVector
 
cOutVector * numRtosVector
 
- Protected Attributes inherited from inet::tcp::TCPAlgorithm
TCPConnectionconn
 
TCPStateVariablesstate
 

Additional Inherited Members

- Protected Member Functions inherited from inet::tcp::TCPBaseAlg
virtual void startRexmitTimer ()
 Start REXMIT timer and initialize retransmission variables. More...
 
virtual void rttMeasurementComplete (simtime_t tSent, simtime_t tAcked)
 Update state vars with new measured RTT value. More...
 
virtual void rttMeasurementCompleteUsingTS (uint32 echoedTS) override
 Converting uint32 echoedTS to simtime_t and calling rttMeasurementComplete() to update state vars with new measured RTT value. More...
 
virtual bool sendData (bool sendCommandInvoked)
 Send data, observing Nagle's algorithm and congestion window. More...
 
cMessage * cancelEvent (cMessage *msg)
 Utility function. More...
 
virtual void processRexmitTimer (TCPEventCode &event)
 
virtual void processPersistTimer (TCPEventCode &event)
 
virtual void processDelayedAckTimer (TCPEventCode &event)
 
virtual void processKeepAliveTimer (TCPEventCode &event)
 
- Protected Member Functions inherited from inet::tcp::TCPAlgorithm
virtual TCPStateVariablescreateStateVariables ()=0
 Create state block (TCB) used by this TCP variant. More...
 

Detailed Description

Provides utility functions to implement TCPTahoe, TCPReno and TCPNewReno.

(TCPVegas should inherit from TCPBaseAlg instead of this one.)

Constructor & Destructor Documentation

inet::tcp::TCPTahoeRenoFamily::TCPTahoeRenoFamily ( )

Ctor.

58  : TCPBaseAlg(),
59  state((TCPTahoeRenoFamilyStateVariables *&)TCPAlgorithm::state)
60 {
61 }
TCPStateVariables * state
Definition: TCPAlgorithm.h:41
TCPBaseAlg()
Ctor.
Definition: TCPBaseAlg.cc:98
TCPTahoeRenoFamilyStateVariables *& state
Definition: TCPTahoeRenoFamily.h:50

Member Data Documentation

TCPTahoeRenoFamilyStateVariables*& inet::tcp::TCPTahoeRenoFamily::state
protected

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