#include <omnetpp.h>
#include "INETDefs.h"
#include "IPvXAddress.h"
#include "IPAddress.h"
#include "SCTP.h"
#include "RoutingTable.h"
#include "RoutingTableAccess.h"
#include "InterfaceTable.h"
#include "InterfaceTableAccess.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>
#define ADD_PADDING | ( | x | ) | ((((x) + 3) >> 2) << 2) |
Referenced by SCTPMessage::addChunk(), SCTPErrorChunk::addParameters(), SCTPAssociation::dequeueAckedChunks(), SCTPAssociation::dequeueOutboundDataMsg(), SCTPAssociation::getOutboundDataChunk(), SCTPAssociation::makeRoomForTsn(), SCTPAssociation::peekOutboundDataChunk(), SCTPAssociation::process_SEND(), SCTPAssociation::process_TIMEOUT_RTX(), SCTPAssociation::processSackArrived(), SCTPAssociation::pushUlp(), SCTPAssociation::putInDeliveryQ(), SCTPMessage::removeChunk(), SCTPMessage::removeLastChunk(), SCTPErrorChunk::removeParameter(), and SCTPAssociation::sendAll().
#define DEBUG 1 |
#define DEFAULT_MAX_RECVQUEUE 0 |
#define DEFAULT_MAX_SENDQUEUE 0 |
#define HB_INTERVAL 30 |
Referenced by SCTPPathVariables::SCTPPathVariables().
#define IPTOS_DEFAULT 0x10 |
#define MAX_ASSOCS 10 |
#define MAX_GAP_COUNT 360 |
Referenced by SCTPStateVariables::SCTPStateVariables().
#define MAX_GAP_REPORTS 4 |
#define PATH_MAX_RETRANS 5 |
Referenced by SCTPPathVariables::SCTPPathVariables().
#define RTO_ALPHA 0.125 |
#define RTO_BETA 0.25 |
#define RTO_INITIAL 3 |
#define SACK_DELAY 0.2 |
Referenced by SCTPAssociation::SCTPAssociation().
#define SCTP_ABORT_CHUNK_LENGTH 4 |
Referenced by SCTPAssociation::sendAbort(), and SCTP::sendAbortFromMain().
#define SCTP_COMMON_HEADER 12 |
Referenced by SCTP::handleMessage(), SCTPMessage::operator=(), SCTPAssociation::retransmitCookieEcho(), SCTPAssociation::retransmitInit(), SCTPAssociation::retransmitShutdown(), SCTPAssociation::retransmitShutdownAck(), SCTPAssociation::sendAbort(), SCTP::sendAbortFromMain(), SCTPAssociation::sendAll(), SCTPAssociation::sendCookieAck(), SCTPAssociation::sendCookieEcho(), SCTPAssociation::sendHeartbeat(), SCTPAssociation::sendHeartbeatAck(), SCTPAssociation::sendInit(), SCTPAssociation::sendInitAck(), SCTPAssociation::sendSack(), SCTPAssociation::sendShutdown(), SCTPAssociation::sendShutdownAck(), SCTPAssociation::sendShutdownComplete(), and SCTP::sendShutdownCompleteFromMain().
#define SCTP_COOKIE_ACK_LENGTH 4 |
#define SCTP_COOKIE_LENGTH 76 |
Referenced by SCTPAssociation::sendInitAck().
#define SCTP_DATA_CHUNK_LENGTH 16 |
Referenced by SCTPAssociation::dequeueAckedChunks(), SCTPAssociation::dequeueOutboundDataMsg(), SCTPAssociation::getOutboundDataChunk(), SCTPAssociation::makeRoomForTsn(), SCTPAssociation::peekOutboundDataChunk(), SCTPAssociation::process_SEND(), SCTPAssociation::process_TIMEOUT_RTX(), SCTPAssociation::processDataArrived(), SCTPAssociation::processSackArrived(), SCTPAssociation::pushUlp(), SCTPAssociation::putInDeliveryQ(), SCTPAssociation::sendAll(), and SCTPAssociation::transformDataChunk().
#define SCTP_DEFAULT_ARWND (1<<16) |
Referenced by SCTPStateVariables::SCTPStateVariables().
#define SCTP_DEFAULT_INBOUND_STREAMS 10 |
Referenced by SCTPAssociation::SCTPAssociation(), SCTPAssociation::sendInit(), and SCTPAssociation::sendInitAck().
#define SCTP_DEFAULT_OUTBOUND_STREAMS 5 |
Referenced by SCTPAssociation::SCTPAssociation().
#define SCTP_ERROR_CHUNK_LENGTH 4 |
#define SCTP_FORWARD_TSN_CHUNK_LENGTH 8 |
#define SCTP_HEARTBEAT_CHUNK_LENGTH 4 |
Referenced by SCTPAssociation::sendHeartbeat().
#define SCTP_INIT_CHUNK_LENGTH 20 |
Referenced by SCTPAssociation::sendInit(), and SCTPAssociation::sendInitAck().
#define SCTP_MAX_PAYLOAD 1488 |
Referenced by SCTPAssociation::process_SEND().
#define SCTP_SACK_CHUNK_LENGTH 16 |
Referenced by SCTPAssociation::createSack().
#define SCTP_SHUTDOWN_ACK_LENGTH 4 |
Referenced by SCTPAssociation::sendShutdownComplete(), and SCTP::sendShutdownCompleteFromMain().
#define SCTP_SHUTDOWN_CHUNK_LENGTH 8 |
Referenced by SCTPAssociation::sendShutdown().
#define SCTP_TIMEOUT_INIT_REXMIT 3 |
#define SCTP_TIMEOUT_INIT_REXMIT_MAX 240 |
#define SHUTDOWN_GUARD_TIMEOUT 180 |
Referenced by SCTPAssociation::sendShutdown(), and SCTPAssociation::sendShutdownAck().
#define VALID_COOKIE_LIFE_TIME 10 |
typedef std::vector<IPvXAddress> AddressVector |
enum SCTPCCModules |
enum SCTPChunkTypes |
DATA | |
INIT | |
INIT_ACK | |
SACK | |
HEARTBEAT | |
HEARTBEAT_ACK | |
ABORT | |
SHUTDOWN | |
SHUTDOWN_ACK | |
ERRORTYPE | |
COOKIE_ECHO | |
COOKIE_ACK | |
SHUTDOWN_COMPLETE |
00100 { 00101 DATA = 0, 00102 INIT = 1, 00103 INIT_ACK = 2, 00104 SACK = 3, 00105 HEARTBEAT = 4, 00106 HEARTBEAT_ACK = 5, 00107 ABORT = 6, 00108 SHUTDOWN = 7, 00109 SHUTDOWN_ACK = 8, 00110 ERRORTYPE = 9, 00111 COOKIE_ECHO = 10, 00112 COOKIE_ACK = 11, 00113 SHUTDOWN_COMPLETE = 14, 00114 00115 };
enum SCTPEventCode |
00069 { 00070 SCTP_E_ASSOCIATE, 00071 SCTP_E_OPEN_PASSIVE, 00072 SCTP_E_ABORT, 00073 SCTP_E_SHUTDOWN, 00074 SCTP_E_CLOSE, 00075 SCTP_E_SEND, 00076 SCTP_E_RCV_INIT, 00077 SCTP_E_RCV_ABORT, 00078 SCTP_E_RCV_VALID_COOKIE_ECHO, 00079 SCTP_E_RCV_INIT_ACK, 00080 SCTP_E_RCV_COOKIE_ACK, 00081 SCTP_E_RCV_SHUTDOWN, 00082 SCTP_E_RCV_SHUTDOWN_ACK, 00083 SCTP_E_RCV_SHUTDOWN_COMPLETE, 00084 SCTP_E_NO_MORE_OUTSTANDING, 00085 SCTP_E_TIMEOUT_INIT_TIMER, 00086 SCTP_E_TIMEOUT_SHUTDOWN_TIMER, 00087 SCTP_E_TIMEOUT_RTX_TIMER, 00088 SCTP_E_TIMEOUT_HEARTBEAT_TIMER, 00089 SCTP_E_IGNORE, 00090 SCTP_E_RECEIVE, 00091 SCTP_E_DUP_RECEIVED, 00092 SCTP_E_PRIMARY, 00093 SCTP_E_DELIVERED, 00094 SCTP_E_QUEUE, 00095 SCTP_E_SEND_SHUTDOWN_ACK, 00096 SCTP_E_STOP_SENDING 00097 };
enum SCTPFlags |
enum SCTPParameterTypes |
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 |
00052 { 00053 SCTP_S_CLOSED = 0, 00054 SCTP_S_COOKIE_WAIT = FSM_Steady(1), 00055 SCTP_S_COOKIE_ECHOED = FSM_Steady(2), 00056 SCTP_S_ESTABLISHED = FSM_Steady(3), 00057 SCTP_S_SHUTDOWN_PENDING = FSM_Steady(4), 00058 SCTP_S_SHUTDOWN_SENT = FSM_Steady(5), 00059 SCTP_S_SHUTDOWN_RECEIVED = FSM_Steady(6), 00060 SCTP_S_SHUTDOWN_ACK_SENT = FSM_Steady(7) 00061 };
enum SCTPStreamSchedulers |
double max | ( | double | a, | |
double | b | |||
) | [inline] |
Returns the maximum of a and b.
Referenced by LineSegmentsMobilityBase::beginNextMove(), SCTPAssociation::cwndUpdateAfterCwndTimeout(), SCTPAssociation::cwndUpdateAfterRtxTimeout(), SCTPAssociation::cwndUpdateAfterSack(), SCTPAssociation::initCCParameters(), SCTPAssociation::pmRttMeasurement(), SCTPAssociation::process_TIMEOUT_CWND(), TCPTahoe::recalculateSlowStartThreshold(), TCPReno::recalculateSlowStartThreshold(), and Ieee80211Mac::scheduleReservePeriod().
double min | ( | double | a, | |
double | b | |||
) | [inline] |
Returns the minimum of a and b.
Referenced by SCTPAssociation::cwndUpdateAfterCwndTimeout(), SCTPAssociation::cwndUpdateBytesAcked(), SCTPAssociation::fcAdjustCounters(), BasicDecider::handleLowerMsg(), SCTPAssociation::initCCParameters(), IPSerializer::parse(), SCTPAssociation::pmRttMeasurement(), SCTPAssociation::process_TIMEOUT_CWND(), SCTPAssociation::process_TIMEOUT_HEARTBEAT(), SCTPAssociation::process_TIMEOUT_RTX(), TCPTahoe::recalculateSlowStartThreshold(), TCPReno::recalculateSlowStartThreshold(), TCPConnection::retransmitData(), TCPConnection::retransmitOneSegment(), TCPConnection::sendData(), and SCTPAssociation::sendInitAck().