#include <SCTPAlgorithm.h>
Public Member Functions | |
SCTPAlgorithm () | |
virtual | ~SCTPAlgorithm () |
void | setAssociation (SCTPAssociation *_assoc) |
virtual void | initialize () |
virtual SCTPStateVariables * | createStateVariables ()=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 firstSeqAcked)=0 |
virtual void | receivedDuplicateAck ()=0 |
virtual void | receivedAckForDataNotYetSent (uint32 seq)=0 |
virtual void | sackSent ()=0 |
virtual void | dataSent (uint32 fromseq)=0 |
Protected Attributes | |
SCTPAssociation * | assoc |
SCTPQueue * | transmissionQ |
SCTPQueue * | retransmissionQ |
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.
Definition at line 33 of file SCTPAlgorithm.h.
SCTPAlgorithm::SCTPAlgorithm | ( | ) | [inline] |
Ctor.
Definition at line 44 of file SCTPAlgorithm.h.
{ assoc = NULL; transmissionQ = NULL; retransmissionQ = NULL; }
virtual SCTPAlgorithm::~SCTPAlgorithm | ( | ) | [inline, virtual] |
virtual void SCTPAlgorithm::connectionClosed | ( | ) | [pure virtual] |
Implemented in SCTPAlg.
virtual SCTPStateVariables* SCTPAlgorithm::createStateVariables | ( | ) | [pure virtual] |
Implemented in SCTPAlg.
Referenced by SCTPAssociation::cloneAssociation(), and SCTPAssociation::initAssociation().
virtual void SCTPAlgorithm::dataSent | ( | uint32 | fromseq | ) | [pure virtual] |
Implemented in SCTPAlg.
virtual void SCTPAlgorithm::established | ( | bool | active | ) | [pure virtual] |
Implemented in SCTPAlg.
virtual void SCTPAlgorithm::initialize | ( | ) | [inline, virtual] |
Definition at line 57 of file SCTPAlgorithm.h.
Referenced by SCTPAssociation::cloneAssociation(), and SCTPAssociation::initAssociation().
{}
virtual void SCTPAlgorithm::processTimer | ( | cMessage * | timer, | |
SCTPEventCode & | event | |||
) | [pure virtual] |
Implemented in SCTPAlg.
Referenced by SCTPAssociation::processTimer().
virtual void SCTPAlgorithm::receivedAckForDataNotYetSent | ( | uint32 | seq | ) | [pure virtual] |
Implemented in SCTPAlg.
virtual void SCTPAlgorithm::receivedDataAck | ( | uint32 | firstSeqAcked | ) | [pure virtual] |
Implemented in SCTPAlg.
virtual void SCTPAlgorithm::receivedDuplicateAck | ( | ) | [pure virtual] |
Implemented in SCTPAlg.
virtual void SCTPAlgorithm::sackSent | ( | ) | [pure virtual] |
Implemented in SCTPAlg.
Referenced by SCTPAssociation::sendOnPath().
virtual void SCTPAlgorithm::sendCommandInvoked | ( | SCTPPathVariables * | path | ) | [pure virtual] |
Implemented in SCTPAlg.
Referenced by SCTPAssociation::process_SEND().
void SCTPAlgorithm::setAssociation | ( | SCTPAssociation * | _assoc | ) | [inline] |
Definition at line 51 of file SCTPAlgorithm.h.
Referenced by SCTPAssociation::cloneAssociation(), and SCTPAssociation::initAssociation().
{ assoc = _assoc; transmissionQ = assoc->getTransmissionQueue(); retransmissionQ = assoc->getRetransmissionQueue(); }
SCTPAssociation* SCTPAlgorithm::assoc [protected] |
Definition at line 36 of file SCTPAlgorithm.h.
Referenced by SCTPAlg::sendCommandInvoked().
SCTPQueue* SCTPAlgorithm::retransmissionQ [protected] |
Definition at line 38 of file SCTPAlgorithm.h.
SCTPQueue* SCTPAlgorithm::transmissionQ [protected] |
Definition at line 37 of file SCTPAlgorithm.h.