INET Framework for OMNeT++/OMNEST
inet::sctp::SctpAlgorithm Class Referenceabstract

Abstract base class for SCTP algorithms which encapsulate all behaviour during data transfer state: flavour of congestion control, fast retransmit/recovery, selective acknowledgement etc. More...

#include <SctpAlgorithm.h>

Inheritance diagram for inet::sctp::SctpAlgorithm:
inet::sctp::SctpAlg

Public Member Functions

 SctpAlgorithm ()
 Ctor. More...
 
virtual ~SctpAlgorithm ()
 Virtual dtor. More...
 
void setAssociation (SctpAssociation *_assoc)
 
virtual void initialize ()
 
virtual SctpStateVariablescreateStateVariables ()=0
 
virtual void established (bool active)=0
 
virtual void connectionClosed ()=0
 
virtual void processTimer (cMessage *timer, SctpEventCode &event)=0
 
virtual void sendCommandInvoked (SctpPathVariables *path)=0
 
virtual void receivedDataAck (uint32_t firstSeqAcked)=0
 
virtual void receivedDuplicateAck ()=0
 
virtual void receivedAckForDataNotYetSent (uint32_t seq)=0
 
virtual void sackSent ()=0
 
virtual void dataSent (uint32_t fromseq)=0
 

Protected Attributes

SctpAssociationassoc
 
SctpQueuetransmissionQ
 
SctpQueueretransmissionQ
 

Detailed Description

Abstract base class for SCTP algorithms which encapsulate all behaviour during data transfer state: flavour of congestion control, fast retransmit/recovery, selective acknowledgement etc.

Subclasses may implement various sets and flavours of the above algorithms.

Constructor & Destructor Documentation

◆ SctpAlgorithm()

inet::sctp::SctpAlgorithm::SctpAlgorithm ( )
inline

Ctor.

34 { assoc = nullptr; transmissionQ = nullptr; retransmissionQ = nullptr; }

◆ ~SctpAlgorithm()

virtual inet::sctp::SctpAlgorithm::~SctpAlgorithm ( )
inlinevirtual

Virtual dtor.

39 {}

Member Function Documentation

◆ connectionClosed()

virtual void inet::sctp::SctpAlgorithm::connectionClosed ( )
pure virtual

Implemented in inet::sctp::SctpAlg.

◆ createStateVariables()

virtual SctpStateVariables* inet::sctp::SctpAlgorithm::createStateVariables ( )
pure virtual

◆ dataSent()

virtual void inet::sctp::SctpAlgorithm::dataSent ( uint32_t  fromseq)
pure virtual

Implemented in inet::sctp::SctpAlg.

◆ established()

virtual void inet::sctp::SctpAlgorithm::established ( bool  active)
pure virtual

Implemented in inet::sctp::SctpAlg.

◆ initialize()

virtual void inet::sctp::SctpAlgorithm::initialize ( )
inlinevirtual

◆ processTimer()

virtual void inet::sctp::SctpAlgorithm::processTimer ( cMessage *  timer,
SctpEventCode event 
)
pure virtual

◆ receivedAckForDataNotYetSent()

virtual void inet::sctp::SctpAlgorithm::receivedAckForDataNotYetSent ( uint32_t  seq)
pure virtual

Implemented in inet::sctp::SctpAlg.

◆ receivedDataAck()

virtual void inet::sctp::SctpAlgorithm::receivedDataAck ( uint32_t  firstSeqAcked)
pure virtual

Implemented in inet::sctp::SctpAlg.

◆ receivedDuplicateAck()

virtual void inet::sctp::SctpAlgorithm::receivedDuplicateAck ( )
pure virtual

Implemented in inet::sctp::SctpAlg.

◆ sackSent()

virtual void inet::sctp::SctpAlgorithm::sackSent ( )
pure virtual

◆ sendCommandInvoked()

virtual void inet::sctp::SctpAlgorithm::sendCommandInvoked ( SctpPathVariables path)
pure virtual

◆ setAssociation()

void inet::sctp::SctpAlgorithm::setAssociation ( SctpAssociation _assoc)
inline

Member Data Documentation

◆ assoc

SctpAssociation* inet::sctp::SctpAlgorithm::assoc
protected

◆ retransmissionQ

SctpQueue* inet::sctp::SctpAlgorithm::retransmissionQ
protected

◆ transmissionQ

SctpQueue* inet::sctp::SctpAlgorithm::transmissionQ
protected

The documentation for this class was generated from the following file:
inet::sctp::SctpAssociation::getTransmissionQueue
SctpQueue * getTransmissionQueue() const
Definition: SctpAssociation.h:1010
inet::sctp::SctpAlgorithm::assoc
SctpAssociation * assoc
Definition: SctpAlgorithm.h:26
inet::sctp::SctpAssociation::getRetransmissionQueue
SctpQueue * getRetransmissionQueue() const
Definition: SctpAssociation.h:1011
inet::sctp::SctpAlgorithm::transmissionQ
SctpQueue * transmissionQ
Definition: SctpAlgorithm.h:27
inet::sctp::SctpAlgorithm::retransmissionQ
SctpQueue * retransmissionQ
Definition: SctpAlgorithm.h:28