INET Framework for OMNeT++/OMNEST
|
#include <SCTPAssociation.h>
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 | ( | ) |
{ }
SCTPPathVariables* SCTPStateVariables::getPrimaryPath | ( | ) | const [inline] |
Referenced by SCTPAssociation::getNextDestination(), SCTPAssociation::process_ABORT(), SCTPAssociation::process_CLOSE(), SCTPAssociation::process_RCV_Message(), SCTPAssociation::process_TIMEOUT_HEARTBEAT(), SCTPAssociation::sendOnPath(), SCTPAssociation::stateEntered(), and SCTPAssociation::updateCounters().
{ return(primaryPath); }
const IPvXAddress& SCTPStateVariables::getPrimaryPathIndex | ( | ) | const [inline] |
Referenced by SCTPAssociation::process_SEND(), SCTPAssociation::process_TIMEOUT_HEARTBEAT(), SCTPAssociation::process_TIMEOUT_RTX(), and SCTPAssociation::processHeartbeatAckArrived().
{ if(primaryPath != NULL) { return(primaryPath->remoteAddress); } return(SCTPDataVariables::zeroAddress); }
void SCTPStateVariables::setPrimaryPath | ( | SCTPPathVariables * | path | ) | [inline] |
Referenced by SCTPAssociation::process_PRIMARY(), SCTPAssociation::process_TIMEOUT_HEARTBEAT(), SCTPAssociation::process_TIMEOUT_RTX(), SCTPAssociation::processHeartbeatAckArrived(), SCTPAssociation::processInitAckArrived(), SCTPAssociation::processInitArrived(), SCTPAssociation::sendInit(), SCTPAssociation::sendInitAck(), and SCTPAssociation::updateCounters().
{ primaryPath = path; }
Referenced by SCTPStateVariables().
uint32 SCTPStateVariables::ackState |
Referenced by SCTPAssociation::cloneAssociation(), SCTPAssociation::process_ASSOCIATE(), and SCTPStateVariables().
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::dequeueAckedChunks(), SCTPAssociation::process_SEND(), and SCTPStateVariables().
Referenced by SCTPAssociation::processDataArrived(), and SCTPStateVariables().
Referenced by SCTPStateVariables(), and SCTPAssociation::sendOnPath().
Referenced by SCTPAssociation::loadPacket(), and SCTPAssociation::storePacket().
SCTPCookieEchoChunk* SCTPStateVariables::cookieChunk |
pointer to the cookie chunk data structure (for retransmissions)
Referenced by SCTPAssociation::processCookieAckArrived(), SCTPAssociation::retransmitCookieEcho(), SCTPStateVariables(), and SCTPAssociation::sendCookieEcho().
Referenced by SCTPStateVariables().
uint32 SCTPStateVariables::count |
Referenced by SCTPStateVariables().
uint32 SCTPStateVariables::cTsnAck |
Referenced by SCTPAssociation::advanceCtsna(), SCTPAssociation::createSack(), SCTPAssociation::processDataArrived(), SCTPAssociation::processInitAckArrived(), SCTPAssociation::processInitArrived(), SCTPAssociation::processTimer(), SCTPAssociation::removeFromGapList(), SCTPStateVariables(), SCTPAssociation::sendInitAck(), SCTPAssociation::sendShutdown(), and SCTPAssociation::updateGapList().
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::loadPacket(), and SCTPAssociation::storePacket().
std::list<uint32> SCTPStateVariables::dupList |
Referenced by SCTPAssociation::pmDataIsSentOn(), and SCTPAssociation::stateEntered().
Referenced by SCTPAssociation::cwndUpdateAfterSack(), SCTPStateVariables(), and SCTPAssociation::stateEntered().
Referenced by SCTPAssociation::scheduleSack(), and SCTPStateVariables().
Referenced by SCTPAssociation::bytesAllowedToSend(), SCTPStateVariables(), and SCTPAssociation::sendOnPath().
uint32 SCTPStateVariables::gapStartList[MAX_GAP_COUNT] |
uint32 SCTPStateVariables::gapStopList[MAX_GAP_COUNT] |
uint16 SCTPStateVariables::header |
Referenced by SCTPAssociation::processSackArrived(), and SCTPStateVariables().
SCTPInitChunk* SCTPStateVariables::initChunk |
pointer to the init chunk data structure (for retransmissions)
Referenced by SCTPAssociation::retransmitInit(), SCTPStateVariables(), SCTPAssociation::sendInit(), and SCTPAssociation::stateEntered().
Referenced by SCTPAssociation::processInitArrived(), and SCTPStateVariables().
Counter for init and cookie retransmissions
Referenced by SCTPAssociation::process_TIMEOUT_INIT_REXMIT(), SCTPStateVariables(), SCTPAssociation::sendShutdown(), and SCTPAssociation::sendShutdownAck().
simtime_t SCTPStateVariables::initRexmitTimeout |
Referenced by SCTPAssociation::process_ASSOCIATE(), SCTPAssociation::process_RCV_Message(), SCTPAssociation::process_TIMEOUT_INIT_REXMIT(), SCTPAssociation::process_TIMEOUT_SHUTDOWN(), SCTPAssociation::processInitAckArrived(), SCTPStateVariables(), SCTPAssociation::sendShutdown(), and SCTPAssociation::sendShutdownAck().
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::dequeueOutboundDataMsg(), and SCTPAssociation::nextChunkFitsIntoPacket().
simtime_t SCTPStateVariables::lastSendQueueAbated |
Referenced by SCTPAssociation::dequeueAckedChunks(), and SCTPStateVariables().
uint32 SCTPStateVariables::lastTSN |
Referenced by SCTPAssociation::processDataArrived(), and SCTPAssociation::processTimer().
Referenced by SCTPAssociation::createSack(), SCTPAssociation::pmStartPathManagement(), SCTPAssociation::process_ASSOCIATE(), SCTPAssociation::process_OPEN_PASSIVE(), SCTPAssociation::processDataArrived(), SCTPAssociation::pushUlp(), SCTPStateVariables(), SCTPAssociation::sendInit(), SCTPAssociation::sendInitAck(), and SCTPAssociation::updateGapList().
uint8 SCTPStateVariables::localTieTag[32] |
uint32 SCTPStateVariables::maxBurst |
Referenced by SCTPAssociation::cwndUpdateMaxBurst(), and SCTPAssociation::stateEntered().
Referenced by SCTPAssociation::process_OPEN_PASSIVE(), SCTPAssociation::pushUlp(), and SCTPStateVariables().
uint32 SCTPStateVariables::msgNum |
Referenced by SCTPAssociation::process_SEND(), and SCTPStateVariables().
Referenced by SCTPAssociation::sendOnPath(), and SCTPAssociation::stateEntered().
Referenced by SCTPAssociation::processDataArrived(), SCTPStateVariables(), and SCTPAssociation::updateGapList().
uint32 SCTPStateVariables::nextRSid |
Referenced by SCTPAssociation::pushUlp(), and SCTPStateVariables().
uint32 SCTPStateVariables::nextTSN |
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::handleChunkReportedAsMissing(), and SCTPAssociation::stateEntered().
uint32 SCTPStateVariables::numGaps |
Referenced by SCTPAssociation::advanceCtsna(), SCTPAssociation::createSack(), SCTPAssociation::processDataArrived(), SCTPAssociation::processTimer(), SCTPAssociation::removeFromGapList(), SCTPStateVariables(), SCTPAssociation::timeForSack(), SCTPAssociation::tsnIsDuplicate(), and SCTPAssociation::updateGapList().
std::vector<int32> SCTPStateVariables::numMsgsReq |
Referenced by SCTPAssociation::loadPacket(), SCTPAssociation::sendOnPath(), and SCTPAssociation::storePacket().
uint64 SCTPStateVariables::peerRwnd |
Referenced by SCTPAssociation::bytesAllowedToSend(), SCTPAssociation::calculateBytesToSendOnPath(), SCTPAssociation::initCCParameters(), SCTPAssociation::moveChunkToOtherPath(), SCTPAssociation::processHeartbeatAckArrived(), SCTPAssociation::processInitAckArrived(), SCTPAssociation::processInitArrived(), SCTPAssociation::processSackArrived(), SCTPStateVariables(), and SCTPAssociation::sendOnPath().
uint8 SCTPStateVariables::peerTieTag[32] |
SCTPPathVariables* SCTPStateVariables::primaryPath [private] |
Referenced by SCTPStateVariables().
Referenced by SCTPStateVariables().
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::pushUlp(), and SCTPStateVariables().
Referenced by SCTPAssociation::process_SEND(), SCTPStateVariables(), and SCTPAssociation::sendOnPath().
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::process_RCV_Message(), and SCTPStateVariables().
Referenced by SCTPAssociation::dequeueAckedChunks(), SCTPAssociation::process_SEND(), and SCTPStateVariables().
SCTPShutdownAckChunk* SCTPStateVariables::shutdownAckChunk |
SCTPShutdownChunk* SCTPStateVariables::shutdownChunk |
pointer to the resetChunk (for retransmission)
Referenced by SCTPAssociation::process_RCV_Message(), SCTPAssociation::processTimer(), SCTPAssociation::retransmitShutdown(), SCTPStateVariables(), and SCTPAssociation::sendShutdown().
Referenced by SCTPAssociation::streamScheduler().
Referenced by SCTPAssociation::streamScheduler().
Referenced by SCTPStateVariables().
Referenced by SCTPAssociation::processDataArrived(), and SCTPStateVariables().
Referenced by SCTPAssociation::performStateTransition(), and SCTPStateVariables().
uint32 SCTPStateVariables::swsLimit |
Referenced by SCTPStateVariables().