You are here: Home > Projects > SimStream > Documentation

SimStream Documentation

Inheritance diagram for CConnection:
CConnectionReceiver CConnectionSender

List of all members.

Public Types

enum  EConnectionType { REQUESTER = 0, RESPONDER = 1 }
enum  EState {
  CLOSED = 0, OPENING = 1, OPENED = 2, CLOSING = 3,
  CANCELING = 4, WAITING = 5
}
enum  EOpenResult { OPEN_SUCCESS = 0, OPEN_CANCELED = 1, OPEN_FAIL_TIMEOUT = 2, OPEN_FAIL_REMOTE = 3 }
enum  ECloseResult { CLOSE_CONFIRMED = 0, CLOSE_TIMEOUT = 1, CLOSE_COMPLETE = 2 }

Public Member Functions

 CConnection (EConnectionType type, __uint32 idEntry, __uint16 port, CSimHandler *sim, IDelegate5< void, __uint16, __uint16, CAddress, __byte, CPacket * > *delegateSend, IDelegate1< void, CConnection * > *delegateDispose, CAddress remoteAddress, __uint16 remotePort)
EConnectionType Type ()
EState State ()
__uint32 Id ()
__uint32 IdEntry ()
__uint16 Port ()
__uint32 RemoteId ()
__uint32 RemoteIdEntry ()
CAddress RemoteAddress ()
__uint16 RemotePort ()
Event2< void, CConnection
*, EOpenResult > * 
EventOpen ()
Event2< void, CConnection
*, ECloseResult > * 
EventClose ()
Call1< CConnection * > * CallDispose ()
void Open ()
void Close ()
void Recv (CAddress src, CPacketConnection *packet)
CConnectionTagTag ()
void Tag (CConnectionTag *tag)
char * ToString () const

Protected Member Functions

bool SendData (CPacketConnectionData *packet)
virtual void Recv (CPacketConnection *packet)=0
virtual void RecvData (CPacketConnectionData *packet)=0
virtual void RecvFeedback (CPacketConnectionFeedback *packet)=0
void RecvMessage (CPacketConnectionMessage *packet)
void RecvMessageOpenRequester (CPacketConnectionMessage *packet)
void RecvMessageOpenAckRequester (CPacketConnectionMessage *packet)
void RecvMessageCloseRequester (CPacketConnectionMessage *packet)
void RecvMessageCloseAckRequester (CPacketConnectionMessage *packet)
void RecvMessageCloseAckAckRequester (CPacketConnectionMessage *packet)
void RecvMessageOpenResponder (CPacketConnectionMessage *packet)
void RecvMessageOpenAckResponder (CPacketConnectionMessage *packet)
void RecvMessageCloseResponder (CPacketConnectionMessage *packet)
void RecvMessageCloseAckResponder (CPacketConnectionMessage *packet)
void RecvMessageCloseAckAckResponder (CPacketConnectionMessage *packet)
void OpenRequester ()
void OpenResponder ()
void CloseRequester ()
void CloseResponder ()
void TimerOpen (CTimerInfo *info)
void TimerClose (CTimerInfo *info)
void TimerCancel (CTimerInfo *info)
void TimerWait (CTimerInfo *info)

Protected Attributes

EConnectionType type
EState state
CSimHandlersim
__uint32 flow
__uint32 id
__uint32 idEntry
__uint16 port
CAddress remoteAddress
__uint32 remoteId
__uint32 remoteIdEntry
__uint16 remotePort
CTimer< CConnection > * timerControl
IDelegate5< void, __uint16,
__uint16, CAddress, __byte,
CPacket * > * 
delegateSend
Event2< void, CConnection
*, EOpenResult > * 
eventOpen
Event2< void, CConnection
*, ECloseResult > * 
eventClose
Call1< CConnection * > * callDispose
char str [256]

Static Protected Attributes

static char * strConnectionType [] = {"REQUESTER", "RESPONDER"}
static char * strState [] = {"CLOSED", "OPENING", "OPENED", "CLOSING", "CANCELING", "WAITING"}

Private Attributes

void(CConnection::* functionOpen )()
void(CConnection::* functionClose )()
void(CConnection::* functionRecvMessageOpen )(CPacketConnectionMessage *)
void(CConnection::* functionRecvMessageOpenAck )(CPacketConnectionMessage *)
void(CConnection::* functionRecvMessageClose )(CPacketConnectionMessage *)
void(CConnection::* functionRecvMessageCloseAck )(CPacketConnectionMessage *)
void(CConnection::* functionRecvMessageCloseAckAck )(CPacketConnectionMessage *)
CConnectionTagtag

Static Private Attributes

static __uint32 idGlobal = 0
static __uint32 flowGlobal = 0
static __time timerOpenTimeout = 0.5
static __time timerCloseTimeout = 0.5
static __time timerCancelTimeout = 2.0
static __time timerRequesterWaitTimeout = 2.0
static __time timerResponderWaitTimeout = 120.0
static __time timerDefaultWaitTimeout = 30.0

Detailed Description

Definition at line 11 of file Connection.h.


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

Last updated: February 8, 2011