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

Sirius interface class. More...

#include <sir_isocket.h>

Inheritance diagram for ISirius:
Inheritance graph
Collaboration diagram for ISirius:
Collaboration graph

Public Member Functions

virtual void Read_Notification (int fd, void *pContext)=0
 Notification indicating data is available. More...
 
virtual void Close_Notification (int fd, void *pContext)
 Notification indicating a close. More...
 
virtual void Reset_Rx_Notification (int fd, void *pContext)
 Notification indicating a RST was received from the remote side. More...
 
virtual void Reset_Tx_Notification (int fd, void *pContext)
 Notification indicating a RST was transmitted. More...
 
virtual void Accept_Notification (int fd, void *pContext)
 Notification indicating a new server connection is eminent. More...
 
virtual void ConnError_Notification (int fd, void *pContext)
 Notification indicates the client connection could not be established and has timed out. More...
 
virtual void ConnEst_Notification (int fd, void *pContext)
 Notification indicates the client connection is was successfully established. More...
 
virtual void ConnCanSend_Notification (int fd, void *pContext)
 Notification indicating So_Send can be called again because peer has room for new data. More...
 
virtual void Timer_Notification (int fd, void *pContext)
 Notification occurs once every second for this connection. More...
 
virtual void SysTimer_Notification (void)
 Notification occurs once every 500msec for this instance of Sirius. More...
 
virtual void Retransmit_Notification (int fd, void *pContext, void *pUserAux, sir_memlist_seg *ptSegment)
 Notification that a retransmitted UDP or RAW packet is received. More...
 
virtual void PortStatusChanged (int iPortNr, CSystemInfo::prt_linkstatus_t *ptPortStatusNew)
 Notification that a status on a port has changed. More...
 

Detailed Description

Sirius interface class.

This class contains functions required to implement in the users' application. Functions that are required are pure virtual

Definition at line 20 of file sir_isocket.h.

Member Function Documentation

virtual void ISirius::Accept_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicating a new server connection is eminent.

Use So_Acpect() to accept this new connection

Parameters
fdFile Descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::Close_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicating a close.

The connection is closed in a normal fashion. The user must call So_Close() to clean up the connection

Parameters
fdFile Descriptor
pContextPointer to context, set by So_Notify
virtual void ISirius::ConnCanSend_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicating So_Send can be called again because peer has room for new data.

When So_Send() returns the error (SIR_COMMON_EAGAIN) the resource is temporary unavailable. This notification occurs indicating the resource is available again.

Parameters
fdFile descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::ConnError_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicates the client connection could not be established and has timed out.

Parameters
fdFile Descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::ConnEst_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicates the client connection is was successfully established.

Parameters
fdFile Descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::PortStatusChanged ( int  iPortNr,
CSystemInfo::prt_linkstatus_t ptPortStatusNew 
)
virtual

Notification that a status on a port has changed.

Parameters
iPortNrPort number on which the status change took place
prt_linkstatus_tPointer to the new port status
virtual void ISirius::Read_Notification ( int  fd,
void *  pContext 
)
pure virtual

Notification indicating data is available.

Use one of the So_Recv() functions to retrieve the data

Parameters
fdFile Descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::Reset_Rx_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicating a RST was received from the remote side.

The user must call So_Close() to clean up the connection

Parameters
fdFile descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::Reset_Tx_Notification ( int  fd,
void *  pContext 
)
virtual

Notification indicating a RST was transmitted.

The RST is transmitted when unable to setup a connection or when the keep-alive is time is expired The user must call So_Close() to clean up the connection

Parameters
fdFile descriptor
pContextPointer to context, set by CSirius::So_Notify()
virtual void ISirius::Retransmit_Notification ( int  fd,
void *  pContext,
void *  pUserAux,
sir_memlist_seg ptSegment 
)
virtual

Notification that a retransmitted UDP or RAW packet is received.

These packets were transmitted using CSirius::So_SendToFastRetransmit().

Parameters
fdFile descriptor
pContextPointer to context, set by CSirius::So_Notify()
pUserAuxPointer to context, set when CSirius::So_SendToFastRetransmit was called
ptSegmentPointer to memlist that contains the data to be retransmitted
virtual void ISirius::SysTimer_Notification ( void  )
virtual

Notification occurs once every 500msec for this instance of Sirius.

This event can be used to handle non-session related stuff every once in a while.

virtual void ISirius::Timer_Notification ( int  fd,
void *  pContext 
)
virtual

Notification occurs once every second for this connection.

Parameters
fdFile Descriptor
pContextPointer to context, set by CSirius::So_Notify()

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