Classes | Typedefs | Enumerations

tcp_old Namespace Reference

Classes

class  DumbTCPStateVariables
class  DumbTCP
class  TCPBaseAlgStateVariables
class  TCPBaseAlg
class  TCPNoCongestionControl
class  TCPReno
class  TCPTahoe
class  TCPTahoeRenoFamilyStateVariables
class  TCPTahoeRenoFamily
class  TCPMsgBasedRcvQueue
class  TCPMsgBasedSendQueue
class  TCPVirtualDataRcvQueue
class  TCPVirtualDataSendQueue
class  TCP
class  TCPAlgorithm
class  TCPStateVariables
class  TCPConnection
class  TCPReceiveQueue
class  TCPSendQueue

Typedefs

typedef TCPBaseAlgStateVariables TCPNoCongestionControlStateVariables
typedef
TCPTahoeRenoFamilyStateVariables 
TCPRenoStateVariables
typedef
TCPTahoeRenoFamilyStateVariables 
TCPTahoeStateVariables

Enumerations

enum  TcpState {
  TCP_S_INIT = 0, TCP_S_CLOSED = FSM_Steady(1), TCP_S_LISTEN = FSM_Steady(2), TCP_S_SYN_SENT = FSM_Steady(3),
  TCP_S_SYN_RCVD = FSM_Steady(4), TCP_S_ESTABLISHED = FSM_Steady(5), TCP_S_CLOSE_WAIT = FSM_Steady(6), TCP_S_LAST_ACK = FSM_Steady(7),
  TCP_S_FIN_WAIT_1 = FSM_Steady(8), TCP_S_FIN_WAIT_2 = FSM_Steady(9), TCP_S_CLOSING = FSM_Steady(10), TCP_S_TIME_WAIT = FSM_Steady(11)
}
enum  TCPEventCode {
  TCP_E_IGNORE, TCP_E_OPEN_ACTIVE, TCP_E_OPEN_PASSIVE, TCP_E_SEND,
  TCP_E_CLOSE, TCP_E_ABORT, TCP_E_STATUS, TCP_E_RCV_DATA,
  TCP_E_RCV_ACK, TCP_E_RCV_SYN, TCP_E_RCV_SYN_ACK, TCP_E_RCV_FIN,
  TCP_E_RCV_FIN_ACK, TCP_E_RCV_RST, TCP_E_RCV_UNEXP_SYN, TCP_E_TIMEOUT_2MSL,
  TCP_E_TIMEOUT_CONN_ESTAB, TCP_E_TIMEOUT_FIN_WAIT_2
}

Functions

Comparing sequence numbers

bool seqLess (uint32 a, uint32 b)
bool seqLE (uint32 a, uint32 b)
bool seqGreater (uint32 a, uint32 b)
bool seqGE (uint32 a, uint32 b)

Typedef Documentation

State variables for TCPNoCongestionControl.

Definition at line 29 of file TCPNoCongestionControl_old.h.

State variables for TCPReno.

Definition at line 29 of file TCPReno_old.h.

State variables for TCPTahoe.

Definition at line 29 of file TCPTahoe_old.h.


Enumeration Type Documentation

Enumerator:
TCP_E_IGNORE 
TCP_E_OPEN_ACTIVE 
TCP_E_OPEN_PASSIVE 
TCP_E_SEND 
TCP_E_CLOSE 
TCP_E_ABORT 
TCP_E_STATUS 
TCP_E_RCV_DATA 
TCP_E_RCV_ACK 
TCP_E_RCV_SYN 
TCP_E_RCV_SYN_ACK 
TCP_E_RCV_FIN 
TCP_E_RCV_FIN_ACK 
TCP_E_RCV_RST 
TCP_E_RCV_UNEXP_SYN 
TCP_E_TIMEOUT_2MSL 
TCP_E_TIMEOUT_CONN_ESTAB 
TCP_E_TIMEOUT_FIN_WAIT_2 

Definition at line 78 of file TCPConnection_old.h.

{
    TCP_E_IGNORE,

    // app commands
    // (note: no RECEIVE command, data are automatically passed up)
    TCP_E_OPEN_ACTIVE,
    TCP_E_OPEN_PASSIVE,
    TCP_E_SEND,
    TCP_E_CLOSE,
    TCP_E_ABORT,
    TCP_E_STATUS,

    // TPDU types
    TCP_E_RCV_DATA,
    TCP_E_RCV_ACK,
    TCP_E_RCV_SYN,
    TCP_E_RCV_SYN_ACK,
    TCP_E_RCV_FIN,
    TCP_E_RCV_FIN_ACK,
    TCP_E_RCV_RST,  // covers RST+ACK too

    TCP_E_RCV_UNEXP_SYN,  // unexpected SYN

    // timers
    TCP_E_TIMEOUT_2MSL,     // RFC 793, a.k.a. TIME-WAIT timer
    TCP_E_TIMEOUT_CONN_ESTAB,
    TCP_E_TIMEOUT_FIN_WAIT_2,

    // All other timers (REXMT, PERSIST, DELAYED-ACK, KEEP-ALIVE, etc.),
    // are handled in TCPAlgorithm.
};

Enumerator:
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 

Definition at line 57 of file TCPConnection_old.h.

{
    TCP_S_INIT        = 0,
    TCP_S_CLOSED      = FSM_Steady(1),
    TCP_S_LISTEN      = FSM_Steady(2),
    TCP_S_SYN_SENT    = FSM_Steady(3),
    TCP_S_SYN_RCVD    = FSM_Steady(4),
    TCP_S_ESTABLISHED = FSM_Steady(5),
    TCP_S_CLOSE_WAIT  = FSM_Steady(6),
    TCP_S_LAST_ACK    = FSM_Steady(7),
    TCP_S_FIN_WAIT_1  = FSM_Steady(8),
    TCP_S_FIN_WAIT_2  = FSM_Steady(9),
    TCP_S_CLOSING     = FSM_Steady(10),
    TCP_S_TIME_WAIT   = FSM_Steady(11)
};


Function Documentation

bool tcp_old::seqGE ( uint32  a,
uint32  b 
) [inline]
bool tcp_old::seqGreater ( uint32  a,
uint32  b 
) [inline]
bool tcp_old::seqLE ( uint32  a,
uint32  b 
) [inline]
bool tcp_old::seqLess ( uint32  a,
uint32  b 
) [inline]