#include <omnetpp.h>
#include "INETDefs.h"
#include "IPvXAddress.h"
#include "TCP.h"
#define MAX_SYN_REXMIT_COUNT 12 |
Referenced by TCPConnection::process_TIMEOUT_SYN_REXMIT().
#define TCP_TIMEOUT_2MSL 240 |
Referenced by TCPConnection::processSegment1stThru8th().
#define TCP_TIMEOUT_CONN_ESTAB 75 |
#define TCP_TIMEOUT_FIN_WAIT_2 600 |
#define TCP_TIMEOUT_SYN_REXMIT 3 |
Referenced by TCPConnection::startSynRexmitTimer().
#define TCP_TIMEOUT_SYN_REXMIT_MAX 240 |
Referenced by TCPConnection::process_TIMEOUT_SYN_REXMIT().
enum TCPEventCode |
00077 { 00078 TCP_E_IGNORE, 00079 00080 // app commands 00081 // (note: no RECEIVE command, data are automatically passed up) 00082 TCP_E_OPEN_ACTIVE, 00083 TCP_E_OPEN_PASSIVE, 00084 TCP_E_SEND, 00085 TCP_E_CLOSE, 00086 TCP_E_ABORT, 00087 TCP_E_STATUS, 00088 00089 // TPDU types 00090 TCP_E_RCV_DATA, 00091 TCP_E_RCV_ACK, 00092 TCP_E_RCV_SYN, 00093 TCP_E_RCV_SYN_ACK, 00094 TCP_E_RCV_FIN, 00095 TCP_E_RCV_FIN_ACK, 00096 TCP_E_RCV_RST, // covers RST+ACK too 00097 00098 TCP_E_RCV_UNEXP_SYN, // unexpected SYN 00099 00100 // timers 00101 TCP_E_TIMEOUT_2MSL, // RFC 793, a.k.a. TIME-WAIT timer 00102 TCP_E_TIMEOUT_CONN_ESTAB, 00103 TCP_E_TIMEOUT_FIN_WAIT_2, 00104 00105 // All other timers (REXMT, PERSIST, DELAYED-ACK, KEEP-ALIVE, etc.), 00106 // are handled in TCPAlgorithm. 00107 };
enum TcpState |
TCP_S_INIT | |
TCP_S_CLOSED | |
TCP_S_LISTEN | |
TCP_S_SYN_SENT | |
TCP_S_SYN_RCVD | |
TCP_S_ESTABLISHED | |
TCP_S_CLOSE_WAIT | |
TCP_S_LAST_ACK | |
TCP_S_FIN_WAIT_1 | |
TCP_S_FIN_WAIT_2 | |
TCP_S_CLOSING | |
TCP_S_TIME_WAIT |
00056 { 00057 TCP_S_INIT = 0, 00058 TCP_S_CLOSED = FSM_Steady(1), 00059 TCP_S_LISTEN = FSM_Steady(2), 00060 TCP_S_SYN_SENT = FSM_Steady(3), 00061 TCP_S_SYN_RCVD = FSM_Steady(4), 00062 TCP_S_ESTABLISHED = FSM_Steady(5), 00063 TCP_S_CLOSE_WAIT = FSM_Steady(6), 00064 TCP_S_LAST_ACK = FSM_Steady(7), 00065 TCP_S_FIN_WAIT_1 = FSM_Steady(8), 00066 TCP_S_FIN_WAIT_2 = FSM_Steady(9), 00067 TCP_S_CLOSING = FSM_Steady(10), 00068 TCP_S_TIME_WAIT = FSM_Steady(11) 00069 };
bool seqGE | ( | uint32 | a, | |
uint32 | b | |||
) | [inline] |
bool seqGreater | ( | uint32 | a, | |
uint32 | b | |||
) | [inline] |
bool seqLE | ( | uint32 | a, | |
uint32 | b | |||
) | [inline] |
Referenced by TCPVirtualDataSendQueue::createSegmentWithBytes(), TCPMsgBasedSendQueue::createSegmentWithBytes(), TCPVirtualDataSendQueue::discardUpTo(), TCPMsgBasedSendQueue::discardUpTo(), TCPVirtualDataRcvQueue::extractTo(), TCPConnection::isSegmentAcceptable(), TCPConnection::processAckInEstabEtc(), TCPConnection::processSegment1stThru8th(), and TCPConnection::processSegmentInSynSent().
bool seqLess | ( | uint32 | a, | |
uint32 | b | |||
) | [inline] |