INET Framework for OMNeT++/OMNEST
inet::sctp::SCTPAlg Class Reference

#include <SCTPAlg.h>

Inheritance diagram for inet::sctp::SCTPAlg:
inet::sctp::SCTPAlgorithm

Public Member Functions

 SCTPAlg ()
 Ctor. More...
 
virtual ~SCTPAlg ()
 Virtual dtor. More...
 
virtual SCTPStateVariablescreateStateVariables () override
 Creates and returns a SCTPStateVariables object. More...
 
virtual void established (bool active) override
 
virtual void connectionClosed () override
 
virtual void processTimer (cMessage *timer, SCTPEventCode &event) override
 
virtual void sendCommandInvoked (SCTPPathVariables *path) override
 
virtual void receivedDataAck (uint32 firstSeqAcked) override
 
virtual void receivedDuplicateAck () override
 
virtual void receivedAckForDataNotYetSent (uint32 seq) override
 
virtual void sackSent () override
 
virtual void dataSent (uint32 fromseq) override
 
- Public Member Functions inherited from inet::sctp::SCTPAlgorithm
 SCTPAlgorithm ()
 Ctor. More...
 
virtual ~SCTPAlgorithm ()
 Virtual dtor. More...
 
void setAssociation (SCTPAssociation *_assoc)
 
virtual void initialize ()
 

Protected Attributes

SCTPAlgStateVariablesstate
 
- Protected Attributes inherited from inet::sctp::SCTPAlgorithm
SCTPAssociationassoc
 
SCTPQueuetransmissionQ
 
SCTPQueueretransmissionQ
 

Constructor & Destructor Documentation

inet::sctp::SCTPAlg::SCTPAlg ( )

Ctor.

28  : SCTPAlgorithm()
29 {
30  state = nullptr;
31 }
SCTPAlgorithm()
Ctor.
Definition: SCTPAlgorithm.h:47
SCTPAlgStateVariables * state
Definition: SCTPAlg.h:42
inet::sctp::SCTPAlg::~SCTPAlg ( )
virtual

Virtual dtor.

34 {
35  EV_DEBUG << "Destructor SCTPAlg" << endl;
36  // Note: don't delete "state" here, it'll be deleted from SCTPAssociation
37 }

Member Function Documentation

void inet::sctp::SCTPAlg::connectionClosed ( )
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

54 {
55 }
SCTPStateVariables * inet::sctp::SCTPAlg::createStateVariables ( )
overridevirtual

Creates and returns a SCTPStateVariables object.

Implements inet::sctp::SCTPAlgorithm.

40 {
41  ASSERT(state == nullptr);
42  state = new SCTPAlgStateVariables();
43  return state;
44 }
SCTPAlgStateVariables * state
Definition: SCTPAlg.h:42
void inet::sctp::SCTPAlg::dataSent ( uint32  fromseq)
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

91 {
92 }
void inet::sctp::SCTPAlg::established ( bool  active)
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

47 {
48  if (active) {
49  EV_INFO << "Completing connection: sending DATA" << endl;
50  }
51 }
void inet::sctp::SCTPAlg::processTimer ( cMessage *  timer,
SCTPEventCode event 
)
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

58 {
59  EV_INFO << "no extra timers in this SCTP variant" << endl;
60 }
void inet::sctp::SCTPAlg::receivedAckForDataNotYetSent ( uint32  seq)
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

82 {
83  EV_INFO << "ACK acks something not yet sent, sending immediate ACK" << endl;
84 }
void inet::sctp::SCTPAlg::receivedDataAck ( uint32  firstSeqAcked)
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

73 {
74 }
void inet::sctp::SCTPAlg::receivedDuplicateAck ( )
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

77 {
78  EV_INFO << "Duplicate ACK #" << endl;
79 }
void inet::sctp::SCTPAlg::sackSent ( )
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

87 {
88 }
void inet::sctp::SCTPAlg::sendCommandInvoked ( SCTPPathVariables path)
overridevirtual

Implements inet::sctp::SCTPAlgorithm.

63 {
64  if (state->allowCMT) {
65  assoc->sendOnAllPaths(path);
66  }
67  else {
68  assoc->sendOnPath(path);
69  }
70 }
bool allowCMT
Definition: SCTPAssociation.h:705
SCTPAssociation * assoc
Definition: SCTPAlgorithm.h:39
SCTPAlgStateVariables * state
Definition: SCTPAlg.h:42
void sendOnPath(SCTPPathVariables *pathId, const bool firstPass=true)
Utility: Send data from sendQueue.
Definition: SCTPAssociationSendAll.cc:668
void sendOnAllPaths(SCTPPathVariables *firstPath)
Definition: SCTPAssociationSendAll.cc:275

Member Data Documentation

SCTPAlgStateVariables* inet::sctp::SCTPAlg::state
protected

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