#include <omnetpp.h>#include "IPvXAddress.h"#include "IPAddress.h"#include "SCTP.h"#include "RoutingTable.h"#include "RoutingTableAccess.h"#include "InterfaceTable.h"#include "InterfaceTableAccess.h"#include "SCTPQueue.h"#include "SCTPSendStream.h"#include "SCTPReceiveStream.h"#include "SCTPMessage.h"#include "IPControlInfo.h"#include <list>#include <iostream>#include <errno.h>#include <math.h>#include <platdep/intxtypes.h>#include "common.h"Go to the source code of this file.
| #define ADD_PADDING | ( | x | ) | ((((x) + 3) >> 2) << 2) |
Definition at line 186 of file SCTPAssociation.h.
Referenced by SCTPMessage::addChunk(), SCTPErrorChunk::addParameters(), SCTPAssociation::decreaseOutstandingBytes(), SCTPAssociation::dequeueAckedChunks(), SCTPAssociation::dequeueOutboundDataMsg(), SCTPAssociation::getOutboundDataChunk(), SCTPAssociation::handleChunkReportedAsAcked(), SCTPAssociation::handleChunkReportedAsMissing(), SCTPAssociation::increaseOutstandingBytes(), SCTPAssociation::makeRoomForTsn(), SCTPAssociation::moveChunkToOtherPath(), SCTPAssociation::nextChunkFitsIntoPacket(), SCTPAssociation::process_SEND(), SCTPAssociation::pushUlp(), SCTPAssociation::putInDeliveryQ(), SCTPMessage::removeChunk(), SCTPMessage::removeLastChunk(), SCTPErrorChunk::removeParameter(), and SCTPAssociation::tsnWasReneged().
| #define DEBUG 1 |
Definition at line 188 of file SCTPAssociation.h.
| #define DEFAULT_MAX_RECVQUEUE 0 |
Definition at line 178 of file SCTPAssociation.h.
| #define DEFAULT_MAX_SENDQUEUE 0 |
Definition at line 177 of file SCTPAssociation.h.
| #define HB_INTERVAL 30 |
Definition at line 166 of file SCTPAssociation.h.
| #define IP_HEADER_LENGTH 20 |
Definition at line 160 of file SCTPAssociation.h.
Referenced by SCTPAssociation::dequeueOutboundDataMsg(), and SCTPAssociation::nextChunkFitsIntoPacket().
| #define IPTOS_DEFAULT 0x10 |
Definition at line 175 of file SCTPAssociation.h.
| #define MAX_ASSOCS 10 |
Definition at line 180 of file SCTPAssociation.h.
| #define MAX_GAP_COUNT 500 |
Definition at line 184 of file SCTPAssociation.h.
Referenced by SCTPAssociation::removeFromGapList(), and SCTPAssociation::updateGapList().
| #define MAX_GAP_REPORTS 4 |
Definition at line 185 of file SCTPAssociation.h.
| #define PATH_MAX_RETRANS 5 |
Definition at line 167 of file SCTPAssociation.h.
| #define RTO_ALPHA 0.125 |
Definition at line 173 of file SCTPAssociation.h.
| #define RTO_BETA 0.25 |
Definition at line 172 of file SCTPAssociation.h.
| #define RTO_INITIAL 3 |
Definition at line 174 of file SCTPAssociation.h.
| #define SACK_DELAY 0.2 |
Definition at line 171 of file SCTPAssociation.h.
| #define SCTP_ABORT_CHUNK_LENGTH 4 |
Definition at line 154 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendAbort(), and SCTP::sendAbortFromMain().
| #define SCTP_COMMON_HEADER 12 |
Definition at line 149 of file SCTPAssociation.h.
Referenced by SCTPAssociation::dequeueOutboundDataMsg(), SCTP::handleMessage(), SCTPAssociation::nextChunkFitsIntoPacket(), SCTPMessage::operator=(), SCTPAssociation::retransmitCookieEcho(), SCTPAssociation::retransmitInit(), SCTPAssociation::retransmitShutdown(), SCTPAssociation::retransmitShutdownAck(), SCTPAssociation::sendAbort(), SCTP::sendAbortFromMain(), SCTPAssociation::sendCookieAck(), SCTPAssociation::sendCookieEcho(), SCTPAssociation::sendHeartbeat(), SCTPAssociation::sendHeartbeatAck(), SCTPAssociation::sendInit(), SCTPAssociation::sendInitAck(), SCTPAssociation::sendOnPath(), SCTPAssociation::sendSack(), SCTPAssociation::sendShutdown(), SCTPAssociation::sendShutdownAck(), SCTPAssociation::sendShutdownComplete(), and SCTP::sendShutdownCompleteFromMain().
| #define SCTP_COOKIE_ACK_LENGTH 4 |
Definition at line 155 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendCookieAck(), SCTPAssociation::sendCookieEcho(), and SCTPAssociation::sendShutdownAck().
| #define SCTP_COOKIE_LENGTH 76 |
Definition at line 165 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendInitAck().
| #define SCTP_DATA_CHUNK_LENGTH 16 |
Definition at line 151 of file SCTPAssociation.h.
Referenced by SCTPAssociation::calculateBytesToSendOnPath(), SCTPAssociation::decreaseOutstandingBytes(), SCTPAssociation::dequeueAckedChunks(), SCTPAssociation::getOutboundDataChunk(), SCTPAssociation::handleChunkReportedAsAcked(), SCTPAssociation::handleChunkReportedAsMissing(), SCTPAssociation::increaseOutstandingBytes(), SCTPAssociation::makeRoomForTsn(), SCTPAssociation::moveChunkToOtherPath(), SCTPAssociation::nextChunkFitsIntoPacket(), SCTPAssociation::processDataArrived(), SCTPAssociation::pushUlp(), SCTPAssociation::putInDeliveryQ(), SCTPAssociation::transformDataChunk(), and SCTPAssociation::tsnWasReneged().
| #define SCTP_DEFAULT_ARWND (1<<16) |
Definition at line 161 of file SCTPAssociation.h.
| #define SCTP_DEFAULT_INBOUND_STREAMS 17 |
Definition at line 162 of file SCTPAssociation.h.
| #define SCTP_DEFAULT_OUTBOUND_STREAMS 17 |
Definition at line 163 of file SCTPAssociation.h.
| #define SCTP_ERROR_CHUNK_LENGTH 4 |
Definition at line 159 of file SCTPAssociation.h.
| #define SCTP_FORWARD_TSN_CHUNK_LENGTH 8 |
Definition at line 156 of file SCTPAssociation.h.
| #define SCTP_HEARTBEAT_CHUNK_LENGTH 4 |
Definition at line 153 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendHeartbeat().
| #define SCTP_INIT_CHUNK_LENGTH 20 |
Definition at line 150 of file SCTPAssociation.h.
| #define SCTP_MAX_PAYLOAD 1488 |
Definition at line 182 of file SCTPAssociation.h.
| #define SCTP_SACK_CHUNK_LENGTH 16 |
Definition at line 152 of file SCTPAssociation.h.
Referenced by SCTPAssociation::createSack().
| #define SCTP_SHUTDOWN_ACK_LENGTH 4 |
Definition at line 158 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendShutdownComplete(), and SCTP::sendShutdownCompleteFromMain().
| #define SCTP_SHUTDOWN_CHUNK_LENGTH 8 |
Definition at line 157 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendShutdown().
| #define SCTP_TIMEOUT_INIT_REXMIT 3 |
Definition at line 169 of file SCTPAssociation.h.
| #define SCTP_TIMEOUT_INIT_REXMIT_MAX 240 |
Definition at line 170 of file SCTPAssociation.h.
Referenced by SCTPAssociation::process_TIMEOUT_INIT_REXMIT(), and SCTPAssociation::process_TIMEOUT_SHUTDOWN().
| #define SHUTDOWN_GUARD_TIMEOUT 180 |
Definition at line 190 of file SCTPAssociation.h.
Referenced by SCTPAssociation::sendShutdown(), and SCTPAssociation::sendShutdownAck().
| #define VALID_COOKIE_LIFE_TIME 10 |
Definition at line 164 of file SCTPAssociation.h.
| typedef std::vector<IPvXAddress> AddressVector |
Definition at line 49 of file SCTPAssociation.h.
| enum SCTPCCModules |
| enum SCTPChunkTypes |
| DATA | |
| INIT | |
| INIT_ACK | |
| SACK | |
| HEARTBEAT | |
| HEARTBEAT_ACK | |
| ABORT | |
| SHUTDOWN | |
| SHUTDOWN_ACK | |
| ERRORTYPE | |
| COOKIE_ECHO | |
| COOKIE_ACK | |
| SHUTDOWN_COMPLETE |
Definition at line 103 of file SCTPAssociation.h.
{
DATA = 0,
INIT = 1,
INIT_ACK = 2,
SACK = 3,
HEARTBEAT = 4,
HEARTBEAT_ACK = 5,
ABORT = 6,
SHUTDOWN = 7,
SHUTDOWN_ACK = 8,
ERRORTYPE = 9,
COOKIE_ECHO = 10,
COOKIE_ACK = 11,
SHUTDOWN_COMPLETE = 14,
};
| enum SCTPEventCode |
Definition at line 70 of file SCTPAssociation.h.
{
SCTP_E_ASSOCIATE,
SCTP_E_OPEN_PASSIVE,
SCTP_E_ABORT,
SCTP_E_SHUTDOWN,
SCTP_E_CLOSE,
SCTP_E_SEND,
SCTP_E_RCV_INIT,
SCTP_E_RCV_ABORT,
SCTP_E_RCV_VALID_COOKIE_ECHO,
SCTP_E_RCV_INIT_ACK,
SCTP_E_RCV_COOKIE_ACK,
SCTP_E_RCV_SHUTDOWN,
SCTP_E_RCV_SHUTDOWN_ACK,
SCTP_E_RCV_SHUTDOWN_COMPLETE,
SCTP_E_NO_MORE_OUTSTANDING,
SCTP_E_TIMEOUT_INIT_TIMER,
SCTP_E_TIMEOUT_SHUTDOWN_TIMER,
SCTP_E_TIMEOUT_RTX_TIMER,
SCTP_E_TIMEOUT_HEARTBEAT_TIMER,
SCTP_E_IGNORE,
SCTP_E_RECEIVE,
SCTP_E_DUP_RECEIVED,
SCTP_E_PRIMARY,
SCTP_E_DELIVERED,
SCTP_E_QUEUE_MSGS_LIMIT,
SCTP_E_QUEUE_BYTES_LIMIT,
SCTP_E_SEND_QUEUE_LIMIT,
SCTP_E_SEND_SHUTDOWN_ACK,
SCTP_E_STOP_SENDING
};
| enum SCTPFlags |
Definition at line 122 of file SCTPAssociation.h.
{
COMPLETE_MESG_UNORDERED = 1,
COMPLETE_MESG_ORDERED = 0
};
| enum SCTPParameterTypes |
Definition at line 129 of file SCTPAssociation.h.
{
UNRECOGNIZED_PARAMETER = 8,
SUPPORTED_ADDRESS_TYPES = 12,
};
| enum SctpState |
| SCTP_S_CLOSED | |
| SCTP_S_COOKIE_WAIT | |
| SCTP_S_COOKIE_ECHOED | |
| SCTP_S_ESTABLISHED | |
| SCTP_S_SHUTDOWN_PENDING | |
| SCTP_S_SHUTDOWN_SENT | |
| SCTP_S_SHUTDOWN_RECEIVED | |
| SCTP_S_SHUTDOWN_ACK_SENT |
Definition at line 53 of file SCTPAssociation.h.
{
SCTP_S_CLOSED = 0,
SCTP_S_COOKIE_WAIT = FSM_Steady(1),
SCTP_S_COOKIE_ECHOED = FSM_Steady(2),
SCTP_S_ESTABLISHED = FSM_Steady(3),
SCTP_S_SHUTDOWN_PENDING = FSM_Steady(4),
SCTP_S_SHUTDOWN_SENT = FSM_Steady(5),
SCTP_S_SHUTDOWN_RECEIVED = FSM_Steady(6),
SCTP_S_SHUTDOWN_ACK_SENT = FSM_Steady(7)
};
| enum SCTPStreamSchedulers |
| double max | ( | const double | a, | |
| const double | b | |||
| ) | [inline] |
Returns the maximum of a and b.
Definition at line 200 of file SCTPAssociation.h.
Referenced by SCTPAssociation::choosePathForRetransmission(), SCTPAssociation::cwndUpdateAfterCwndTimeout(), SCTPAssociation::cwndUpdateAfterRtxTimeout(), SCTPAssociation::cwndUpdateAfterSack(), TCPBaseAlg::established(), SCTPAssociation::initCCParameters(), SCTPAssociation::pmRttMeasurement(), tcp_old::TCPTahoe::recalculateSlowStartThreshold(), TCPTahoe::recalculateSlowStartThreshold(), tcp_old::TCPReno::recalculateSlowStartThreshold(), TCPReno::recalculateSlowStartThreshold(), TCPNewReno::recalculateSlowStartThreshold(), and TCPBaseAlg::sendData().
{ return (a < b) ? b : a; }
| double min | ( | const double | a, | |
| const double | b | |||
| ) | [inline] |
Returns the minimum of a and b.
Definition at line 195 of file SCTPAssociation.h.
Referenced by TCPConnection::addSacks(), SCTPAssociation::cwndUpdateAfterCwndTimeout(), SCTPAssociation::cwndUpdateBytesAcked(), TCPBaseAlg::established(), SCTPAssociation::initCCParameters(), IPSerializer::parse(), SCTPAssociation::pmRttMeasurement(), SCTPAssociation::process_TIMEOUT_HEARTBEAT(), SCTPAssociation::process_TIMEOUT_RTX(), TCPConnection::processMSSOption(), tcp_old::TCPTahoe::recalculateSlowStartThreshold(), TCPTahoe::recalculateSlowStartThreshold(), tcp_old::TCPReno::recalculateSlowStartThreshold(), TCPReno::recalculateSlowStartThreshold(), TCPNewReno::recalculateSlowStartThreshold(), TCPNewReno::receivedDataAck(), SCTPAssociation::removeFromGapList(), tcp_old::TCPConnection::retransmitData(), TCPConnection::retransmitData(), tcp_old::TCPConnection::retransmitOneSegment(), TCPConnection::retransmitOneSegment(), tcp_old::TCPConnection::sendData(), TCPConnection::sendData(), TCPBaseAlg::sendData(), SCTPAssociation::sendInitAck(), TCPConnection::sendOneNewSegment(), TCPSerializer::serialize(), and SCTPAssociation::updateGapList().
{ return (a < b) ? a : b; }
1.7.1