INET Framework for OMNeT++/OMNEST
SCTPStateVariables Class Reference

#include <SCTPAssociation.h>

Inheritance diagram for SCTPStateVariables:
SCTPAlgStateVariables

List of all members.

Public Member Functions

 SCTPStateVariables ()
 ~SCTPStateVariables ()
void setPrimaryPath (SCTPPathVariables *path)
const IPvXAddressgetPrimaryPathIndex () const
SCTPPathVariablesgetPrimaryPath () const

Public Attributes

bool active
bool fork
bool ackPointAdvanced
bool dataChunkReceived
bool initReceived
bool cookieEchoReceived
bool newChunkReceived
bool firstChunkReceived
bool swsAvoidanceInvoked
bool probingIsAllowed
bool zeroWindowProbing
bool alwaysBundleSack
bool fastRecoverySupported
bool nagleEnabled
bool sackAllowed
bool reactivatePrimaryPath
bool resetPending
bool stopReceiving
bool stopOldData
bool queueUpdate
bool firstDataSent
bool peerWindowFull
bool zeroWindow
bool stopSending
bool inOut
bool noMoreOutstanding
uint32 numGapReports
IPvXAddress initialPrimaryPath
IPvXAddress lastDataSourceAddress
AddressVector localAddresses
std::list< uint32 > dupList
uint32 errorCount
uint64 peerRwnd
uint64 initialPeerRwnd
uint64 localRwnd
uint32 nextTSN
uint32 lastTsnAck
uint32 cTsnAck
uint32 highestTsnReceived
uint32 highestTsnAcked
uint32 highestTsnStored
uint32 lastTsnReceived
uint32 lastTSN
uint32 ackState
uint32 numGaps
uint32 gapStartList [MAX_GAP_COUNT]
uint32 gapStopList [MAX_GAP_COUNT]
uint64 outstandingBytes
uint64 queuedReceivedBytes
uint32 lastStreamScheduled
uint32 assocPmtu
uint32 msgNum
uint64 bytesRcvd
uint32 numRequests
uint32 bytesToRetransmit
uint32 messagesToPush
int32 pushMessagesLeft
uint32 count
uint8 localTieTag [32]
uint8 peerTieTag [32]
uint64 queuedMessages
uint32 messageAcceptLimit
uint32 queueLimit
uint16 header
int32 probingTimeout
std::vector< int32 > numMsgsReq
int32 cookieLifeTime
int16 initRetransCounter
simtime_t initRexmitTimeout
SCTPInitChunk * initChunk
SCTPCookieEchoChunk * cookieChunk
SCTPShutdownChunk * shutdownChunk
SCTPShutdownAckChunk * shutdownAckChunk
SCTPMessagesctpmsg
uint64 sendQueueLimit
uint64 sendBuffer
bool appSendAllowed
simtime_t lastSendQueueAbated
uint32 nextRSid
uint32 swsLimit
bool lastMsgWasFragment
bool enableHeartbeats
SCTPMessagesctpMsg
uint16 chunksAdded
uint16 dataChunksAdded
uint32 packetBytes
bool authAdded
uint32 maxBurst
bool ssNextStream
bool ssLastDataChunkSizeSet

Private Attributes

SCTPPathVariablesprimaryPath

Constructor & Destructor Documentation

SCTPStateVariables::SCTPStateVariables ( )
{
    active                    = false;
    fork                          = false;
    initReceived              = false;
    cookieEchoReceived    = false;
    ackPointAdvanced          = false;
    swsAvoidanceInvoked   = false;
    firstChunkReceived    = false;
    probingIsAllowed          = false;
    zeroWindowProbing         = true;
    alwaysBundleSack          = true;
    fastRecoverySupported  = true;
    reactivatePrimaryPath  = false;
    newChunkReceived          = false;
    dataChunkReceived         = false;
    sackAllowed               = false;
    resetPending              = false;
    stopReceiving             = false;
    stopOldData               = false;
    stopSending               = false;
    inOut                         = false;
    queueUpdate               = false;
    firstDataSent             = false;
    peerWindowFull            = false;
    zeroWindow                = false;
    appSendAllowed            = true;
    noMoreOutstanding         = false;
    primaryPath               = NULL;
    lastDataSourceAddress  = IPvXAddress("0.0.0.0");
    shutdownChunk             = NULL;
    initChunk                 = NULL;
    cookieChunk               = NULL;
    sctpmsg                   = NULL;
    sctpMsg                   = NULL;
    bytesToRetransmit         = 0;
    initRexmitTimeout         = SCTP_TIMEOUT_INIT_REXMIT;
    localRwnd                 = SCTP_DEFAULT_ARWND;
    errorCount                = 0;
    initRetransCounter    = 0;
    nextTSN                   = 0;
    cTsnAck                   = 0;
    lastTsnAck                = 0;
    highestTsnReceived    = 0;
    highestTsnAcked       = 0;
    highestTsnStored          = 0;
    nextRSid                      = 0;
    ackState                      = 0;
    lastStreamScheduled   = 0;
    peerRwnd                      = 0;
    initialPeerRwnd       = 0;
    assocPmtu                 = 0;
    outstandingBytes          = 0;
    messagesToPush            = 0;
    pushMessagesLeft          = 0;
    numGaps                   = 0;
    msgNum                    = 0;
    bytesRcvd                 = 0;
    sendBuffer                = 0;
    queuedReceivedBytes   = 0;
    lastSendQueueAbated   = simTime();
    queuedMessages            = 0;
    queueLimit                = 0;
    probingTimeout            = 1;
    numRequests               = 0;
    numMsgsReq.resize(65536);
    for (unsigned int i = 0; i < 65536; i++) {
        numMsgsReq[i] = 0;
    }
    for (unsigned int i = 0; i < MAX_GAP_COUNT; i++) {
        gapStartList[i] = 0;
        gapStopList[i]   = 0;
    }
    for (unsigned int i = 0; i < 32; i++) {
        localTieTag[i] = 0;
        peerTieTag[i]   = 0;
    }
    count = 0;
}
SCTPStateVariables::~SCTPStateVariables ( )
{
}

Member Function Documentation


Member Data Documentation

SCTPCookieEchoChunk* SCTPStateVariables::cookieChunk

pointer to the cookie chunk data structure (for retransmissions)

Referenced by SCTPAssociation::processCookieAckArrived(), SCTPAssociation::retransmitCookieEcho(), SCTPStateVariables(), and SCTPAssociation::sendCookieEcho().

pointer to the init chunk data structure (for retransmissions)

Referenced by SCTPAssociation::retransmitInit(), SCTPStateVariables(), SCTPAssociation::sendInit(), and SCTPAssociation::stateEntered().


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