All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
CSiriusSYNCache Class Referenceabstract

#include <sir_tcp_syncache.h>

Inheritance diagram for CSiriusSYNCache:
Inheritance graph
Collaboration diagram for CSiriusSYNCache:
Collaboration graph

Public Member Functions

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)
 
virtual void Notification (sir_tcp_tcb *pTCB)=0
 
virtual bool Handle_TCP_Packet (sir_tcp_tcb *pTCB, sir_tcp_parse *tTcpParse, CSiriusMemList *ptMemList)=0
 
virtual void Update_Window (sir_tcp_tcb *ptTCB)=0
 
virtual bool RemoveSocket (int fd)=0
 
int GetAndAddResourcesInUse (int iIncrement)
 
int GetAndAddShadowResourcesInUse (int iIncrement)
 

Static Public Member Functions

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)
 

Public Attributes

uint32_t m_ui32AcceptTag
 

Static Public Attributes

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

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

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
 

Friends

class CSirius
 

Detailed Description

Definition at line 308 of file sir_tcp_syncache.h.

Member Function Documentation

static uint32_t CSiriusSYNCache::CalcUsableWindow ( sir_tcp_tcb ptTCB,
bool  bAccountForRTXQueue = true 
)
static
void CSiriusSYNCache::EnableSACK ( bool  bSACKOn)
protected
void CSiriusSYNCache::EnableTimeStamp ( bool  bTimeStampOn)
protected
static void CSiriusSYNCache::FreeResourcesTCB ( sir_tcp_tcb ptTCB)
static
int CSiriusSYNCache::GetAndAddResourcesInUse ( int  iIncrement)
int CSiriusSYNCache::GetAndAddShadowResourcesInUse ( int  iIncrement)
uint32_t CSiriusSYNCache::GetISN ( )
protected
sir_timer_t CSiriusSYNCache::GetRTO ( sir_tcp_tcb ptTCB)
protected
virtual bool CSiriusSYNCache::Handle_TCP_Packet ( sir_tcp_tcb pTCB,
sir_tcp_parse tTcpParse,
CSiriusMemList ptMemList 
)
pure virtual

Implemented in CSiriusTCP.

virtual void CSiriusSYNCache::Notification ( sir_tcp_tcb pTCB)
pure virtual

Implemented in CSiriusTCP.

bool CSiriusSYNCache::ProcessRTXQueue ( sir_tcp_tcb ptTCB,
bool  bForceRetransmit 
)
protected
virtual bool CSiriusSYNCache::RemoveSocket ( int  fd)
pure virtual
bool CSiriusSYNCache::SACKEnabled ( )
protected
int CSiriusSYNCache::SynCache_CreateTCPHeader ( CSiriusMemList pMemList,
sir_tcp_tcb ptTCB,
int  iFlags,
uint32_t  ui32SEQ,
uint32_t  ui32ACK,
int &  iTCPHeaderSize 
)
uint32_t CSiriusSYNCache::SynCache_Handle_ACK_RTQ ( sir_tcp_tcb pTCB,
sir_tcp_parse ptTcpParse 
)
static bool CSiriusSYNCache::SYNCache_Handle_Unused_Static ( cvmx_wqe_t *  pWQE,
void *  pThis 
)
static
static bool CSiriusSYNCache::SYNCache_Handle_UnusedRTQ_Static ( cvmx_wqe_t *  pWQE,
void *  pThis 
)
static
void CSiriusSYNCache::SynCache_Init ( int  iInstance)
sir_tcp_tcb* CSiriusSYNCache::SynCache_Insert ( sir_tcp_tcb pTCB,
T5Tuple tTupleID,
sir_tcp_parse ptTcpParse,
bool  bUserEvent 
)
bool CSiriusSYNCache::SynCache_Remove ( sir_tcp_tcb ptTCB)
sir_tcp_tcb* CSiriusSYNCache::SynCache_Search ( T5Tuple tTupleID)
sir_tcp_tcb* CSiriusSYNCache::SynCache_Search_NewConnection ( int  fd)
int CSiriusSYNCache::SYNCache_Send_TCP ( sir_tcp_tcb ptTCB,
int  iFlags,
uint32_t  ui32SEQ,
uint32_t  ui32ACK,
sir_memlist_seg ptMember,
bool  bRetransmit 
)
bool CSiriusSYNCache::SynCache_SetSendWindow ( uint32_t  ui32ReceiveWindow)
static int CSiriusSYNCache::SynCache_TCPOptionsHeaderSize ( sir_tcp_tcb ptTCB)
static
static int CSiriusSYNCache::TCPHeaderSize ( )
static
bool CSiriusSYNCache::TimeStampEnabled ( )
protected
virtual void CSiriusSYNCache::Update_Window ( sir_tcp_tcb ptTCB)
pure virtual
bool CSiriusSYNCache::UpdateRTTMax ( sir_tcp_tcb ptTCB,
uint32_t  ui32TimeStampEcho,
sir_timer_t  tOrgTime 
)
protected

Friends And Related Function Documentation

friend class CSirius
friend

Definition at line 310 of file sir_tcp_syncache.h.

Member Data Documentation

bool CSiriusSYNCache::m_bSACKAllowed
protected

Definition at line 365 of file sir_tcp_syncache.h.

bool CSiriusSYNCache::m_bTimeStampAllowed
protected

Definition at line 364 of file sir_tcp_syncache.h.

CTashTable<T5Tuple, sizeof (sir_shadow_cache)> CSiriusSYNCache::m_cShadowCache
protected

Definition at line 356 of file sir_tcp_syncache.h.

CTashTable<T5Tuple, sizeof (sir_tcp_tcb)> CSiriusSYNCache::m_cSynCacheHash
protected

Definition at line 355 of file sir_tcp_syncache.h.

int CSiriusSYNCache::m_iInstance
protected

Definition at line 360 of file sir_tcp_syncache.h.

CVMX_SHARED int CSiriusSYNCache::m_iTcp_KeepAlive_Idle
static

Definition at line 341 of file sir_tcp_syncache.h.

CVMX_SHARED int CSiriusSYNCache::m_iTcp_KeepAlive_IntVl
static

Definition at line 340 of file sir_tcp_syncache.h.

CVMX_SHARED int CSiriusSYNCache::m_iTcp_KeepAlive_Probes
static

Definition at line 338 of file sir_tcp_syncache.h.

CVMX_SHARED int CSiriusSYNCache::m_iTcp_KeepAlive_Time
static

Definition at line 339 of file sir_tcp_syncache.h.

uint16_t CSiriusSYNCache::m_ui16SegWinScale
protected

Definition at line 362 of file sir_tcp_syncache.h.

uint32_t CSiriusSYNCache::m_ui32AcceptTag

Definition at line 343 of file sir_tcp_syncache.h.

uint32_t CSiriusSYNCache::m_ui32InitialWindowSize
protected

Definition at line 358 of file sir_tcp_syncache.h.

uint32_t CSiriusSYNCache::m_ui32MinimumWindowsSize
protected

Definition at line 359 of file sir_tcp_syncache.h.


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