All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | List of all members
CSiriusTCP Class Reference

#include <sir_tcp.h>

Inheritance diagram for CSiriusTCP:
Inheritance graph
Collaboration diagram for CSiriusTCP:
Collaboration graph

Public Member Functions

void Init (int iInstance, void *pCSiriusI, void *pCSirius)
bool TCP_Timing ()
uint16_t GetEphemeralPort (void)
bool FreeEphemeralPort (uint16_t ui16EphemeralPort)
bool Handle_TCP_Packet (sir_tcp_tcb *pTCB, sir_tcp_parse *tTcpParse, CSiriusMemList *ptMemList)
sir_tcp_tcbHandle_TCP_UserCalls (ETcp_User_Calls eTcp_User_Calls, sir_tcp_tcb *ptTCB)
void Notification (sir_tcp_tcb *pTCB)
- Public Member Functions inherited from CSiriusSYNCache
void SynCache_Init (int iInstance)
sir_tcp_tcbSynCache_Search (T5Tuple &tTupleID)
sir_tcp_tcbSynCache_Insert (sir_tcp_tcb *pTCB, T5Tuple &tTupleID, sir_tcp_parse *ptTcpParse, bool bUserEvent)
bool SynCache_Remove (sir_tcp_tcb *ptTCB)
int SYNCache_Send_TCP (sir_tcp_tcb *ptTCB, int iFlags, uint32_t ui32SEQ, uint32_t ui32ACK, sir_memlist_seg *ptMember, bool bRetransmit)
sir_tcp_tcbSynCache_Search_NewConnection (int fd)
uint32_t SynCache_Handle_ACK_RTQ (sir_tcp_tcb *pTCB, sir_tcp_parse *ptTcpParse)
bool SynCache_SetSendWindow (uint32_t ui32ReceiveWindow)
int SynCache_CreateTCPHeader (CSiriusMemList *pMemList, sir_tcp_tcb *ptTCB, int iFlags, uint32_t ui32SEQ, uint32_t ui32ACK, int &iTCPHeaderSize)
int GetAndAddResourcesInUse (int iIncrement)
int GetAndAddShadowResourcesInUse (int iIncrement)

Static Public Member Functions

static CSiriusTCPInstance (void)
static int TCPParseIncoming (sir_tcp_parse *ptTcpParse, CSiriusMemList *ptMemList)
- Static Public Member Functions inherited from CSiriusSYNCache
static bool SYNCache_Handle_Unused_Static (cvmx_wqe_t *pWQE, void *pThis)
static bool SYNCache_Handle_UnusedRTQ_Static (cvmx_wqe_t *pWQE, void *pThis)
static int SynCache_TCPOptionsHeaderSize (sir_tcp_tcb *ptTCB)
static void FreeResourcesTCB (sir_tcp_tcb *ptTCB)
static int TCPHeaderSize ()
static uint32_t CalcUsableWindow (sir_tcp_tcb *ptTCB, bool bAccountForRTXQueue=true)

Additional Inherited Members

- Public Attributes inherited from CSiriusSYNCache
uint32_t m_ui32AcceptTag
- Static Public Attributes inherited from CSiriusSYNCache
static CVMX_SHARED int m_iTcp_KeepAlive_Probes
static CVMX_SHARED int m_iTcp_KeepAlive_Time
static CVMX_SHARED int m_iTcp_KeepAlive_IntVl
static CVMX_SHARED int m_iTcp_KeepAlive_Idle
- Protected Member Functions inherited from CSiriusSYNCache
uint32_t GetISN ()
bool ProcessRTXQueue (sir_tcp_tcb *ptTCB, bool bForceRetransmit)
bool UpdateRTTMax (sir_tcp_tcb *ptTCB, uint32_t ui32TimeStampEcho, sir_timer_t tOrgTime)
sir_timer_t GetRTO (sir_tcp_tcb *ptTCB)
void EnableTimeStamp (bool bTimeStampOn)
bool TimeStampEnabled ()
void EnableSACK (bool bSACKOn)
bool SACKEnabled ()
- Protected Attributes inherited from CSiriusSYNCache
CTashTable< T5Tuple, sizeof(sir_tcp_tcb)> m_cSynCacheHash
CTashTable< T5Tuple, sizeof(sir_shadow_cache)> m_cShadowCache
uint32_t m_ui32InitialWindowSize
uint32_t m_ui32MinimumWindowsSize
int m_iInstance
uint16_t m_ui16SegWinScale
bool m_bTimeStampAllowed
bool m_bSACKAllowed

Detailed Description

Definition at line 18 of file sir_tcp.h.

Member Function Documentation

bool CSiriusTCP::FreeEphemeralPort ( uint16_t  ui16EphemeralPort)
uint16_t CSiriusTCP::GetEphemeralPort ( void  )
bool CSiriusTCP::Handle_TCP_Packet ( sir_tcp_tcb pTCB,
sir_tcp_parse tTcpParse,
CSiriusMemList ptMemList 

Implements CSiriusSYNCache.

sir_tcp_tcb* CSiriusTCP::Handle_TCP_UserCalls ( ETcp_User_Calls  eTcp_User_Calls,
sir_tcp_tcb ptTCB 
void CSiriusTCP::Init ( int  iInstance,
void *  pCSiriusI,
void *  pCSirius 
static CSiriusTCP* CSiriusTCP::Instance ( void  )
void CSiriusTCP::Notification ( sir_tcp_tcb pTCB)

Implements CSiriusSYNCache.

bool CSiriusTCP::TCP_Timing ( )
static int CSiriusTCP::TCPParseIncoming ( sir_tcp_parse ptTcpParse,
CSiriusMemList ptMemList 

The documentation for this class was generated from the following file: