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

Provides utility functions to implement DcTcp. More...

#include <DcTcpFamily.h>

Inheritance diagram for inet::tcp::DcTcpFamily:
inet::tcp::TcpTahoeRenoFamily inet::tcp::TcpBaseAlg inet::tcp::TcpAlgorithm

Public Member Functions

 DcTcpFamily ()
 Ctor. More...
 
- Public Member Functions inherited from inet::tcp::TcpTahoeRenoFamily
 TcpTahoeRenoFamily ()
 Ctor. More...
 
void initialize () override
 Create timers, etc. More...
 
- Public Member Functions inherited from inet::tcp::TcpBaseAlg
 TcpBaseAlg ()
 Ctor. More...
 
virtual ~TcpBaseAlg ()
 Virtual dtor. 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_t 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_t 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_t fromseq) override
 Called after we sent data. More...
 
virtual void segmentRetransmitted (uint32_t fromseq, uint32_t toseq) override
 Called after we retransmitted segment. More...
 
virtual void restartRexmitTimer () override
 Restart REXMIT timer. More...
 
virtual bool shouldMarkAck () override
 Called before sending ACK. More...
 
virtual void processEcnInEstablished () override
 Called before processing segment in established state. 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

DcTcpFamilyStateVariables *& state
 
- Protected Attributes inherited from inet::tcp::TcpTahoeRenoFamily
TcpTahoeRenoFamilyStateVariables *& state
 
- Protected Attributes inherited from inet::tcp::TcpBaseAlg
TcpBaseAlgStateVariables *& state
 
cMessage * rexmitTimer
 
cMessage * persistTimer
 
cMessage * delayedAckTimer
 
cMessage * keepAliveTimer
 
- Protected Attributes inherited from inet::tcp::TcpAlgorithm
TcpConnectionconn
 
TcpStateVariablesstate
 

Additional Inherited Members

- Protected Member Functions inherited from inet::tcp::TcpBaseAlg
virtual void processRexmitTimer (TcpEventCode &event)
 
virtual void processPersistTimer (TcpEventCode &event)
 
virtual void processDelayedAckTimer (TcpEventCode &event)
 
virtual void processKeepAliveTimer (TcpEventCode &event)
 
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_t echoedTS) override
 Converting uint32_t 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...
 
- Protected Member Functions inherited from inet::tcp::TcpAlgorithm
virtual TcpStateVariablescreateStateVariables ()=0
 Create state block (TCB) used by this TCP variant. More...
 
- Static Protected Attributes inherited from inet::tcp::TcpBaseAlg
static simsignal_t cwndSignal = cComponent::registerSignal("cwnd")
 
static simsignal_t ssthreshSignal = cComponent::registerSignal("ssthresh")
 
static simsignal_t rttSignal = cComponent::registerSignal("rtt")
 
static simsignal_t srttSignal = cComponent::registerSignal("srtt")
 
static simsignal_t rttvarSignal = cComponent::registerSignal("rttvar")
 
static simsignal_t rtoSignal = cComponent::registerSignal("rto")
 
static simsignal_t numRtosSignal = cComponent::registerSignal("numRtos")
 

Detailed Description

Provides utility functions to implement DcTcp.

Constructor & Destructor Documentation

◆ DcTcpFamily()

inet::tcp::DcTcpFamily::DcTcpFamily ( )

Ctor.

52  state((DcTcpFamilyStateVariables *&)TcpTahoeRenoFamily::state)
53 {
54 }

Member Data Documentation

◆ state

DcTcpFamilyStateVariables*& inet::tcp::DcTcpFamily::state
protected

The documentation for this class was generated from the following files:
inet::tcp::TcpTahoeRenoFamily::state
TcpTahoeRenoFamilyStateVariables *& state
Definition: TcpTahoeRenoFamily.h:37
inet::tcp::DcTcpFamily::state
DcTcpFamilyStateVariables *& state
Definition: DcTcpFamily.h:40
inet::tcp::TcpTahoeRenoFamily::TcpTahoeRenoFamily
TcpTahoeRenoFamily()
Ctor.
Definition: TcpTahoeRenoFamily.cc:45