|
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().