You are here: Home > Projects > SimStream > Documentation

SimStream Documentation

Inheritance diagram for CStreamClientPushMulti:
CStreamClient CStream

List of all members.

Classes

class  CLayer
class  CLayersInfo

Public Member Functions

 CStreamClientPushMulti (CSimHandler *sim, CInfoPushMulti *info, CAddress address, IDelegate2< void, CAddress, CPacketStream * > *delegateSendStream, IDelegate2< void, CAddress, CStreamMessage * > *delegateSendMessage, IDelegate2< void, CAddress, __uint32 > *delegateIgmpJoin, IDelegate1< void, CAddress > *delegateIgmpLeave, IDelegate0< CLink * > *delegateLink, __uint32 entry, __bitrate bw)
virtual void Start (CChannel *channel)
virtual void Stop ()
virtual void Recv (CAddress srcAddress, CAddress dstAddress, __uint16 srcPort, __uint16 dstPort, CPacket *packet)
virtual __uint32 StatRecvFrames ()
virtual __uint32 StatDiscardedFrames ()
virtual __uint32 StatPlayFrames ()
virtual __uint32 * StatSuccessFrames ()
virtual __uint32 * StatFailFrames ()
virtual __time StatTimeClientStart ()
virtual __time StatTimeRecvStart ()
virtual __time StatTimePlayStart ()
virtual __time StatTimeFinish ()
virtual __time StatTimeWait ()
virtual __uint32 StatPlayFirstFrame ()
virtual __uint32 StatPlayLastFrame ()
virtual __time StatSyncDelay ()
virtual void Finalize ()

Private Types

enum  EClientState {
  STOPPED = 0, MCAST_STREAM_FIRST = 10, MCAST_STREAM_BUFFERING = 11, MCAST_STREAM_PLAY = 12,
  MCAST_STREAM_WAIT = 13, UCAST_BOOTSTRAP_REQUEST = 20, UCAST_BOOTSTRAP_RESPONSE = 21, UCAST_JOIN_REQUEST = 22,
  UCAST_STREAM_FIRST = 23, UCAST_STREAM_BUFFERING = 24, UCAST_STREAM_PLAY = 25, UCAST_STREAM_WAIT = 26,
  UCAST_STREAM_RESET = 27
}
enum  ERegistrationState { NOT_REGISTERED = 0, REGISTERED = 1 }
enum  ELayerState { LAYER_IDLE = 0, LAYER_BUFFERING = 1, LAYER_READY = 2 }

Private Member Functions

void StartMcast ()
void StartUcast ()
void StopMcast ()
void StopUcast ()
void RecvStream (CAddress dst, CPacketStream *packet)
void RecvMessage (CAddress src, CStreamMessage *message)
void RecvFrameMcast (CAddress src, CStreamFrame frame)
void ProcessFrameMcastFirst (CStreamFrame frame)
void ProcessFrameMcastBuffering (CStreamFrame frame)
void ProcessFrameMcastPlay (CStreamFrame frame)
void ProcessFrameMcastWait (CStreamFrame frame)
void RecvFrameUcast (CAddress src, CStreamFrame frame)
void ProcessFrameUcastFirst (CStreamFrame frame)
void ProcessFrameUcastBuffering (CStreamFrame frame)
void ProcessFrameUcastPlay (CStreamFrame frame)
void ProcessFrameUcastWait (CStreamFrame frame)
void ProcessFrameUcastReset (CStreamFrame frame)
void ProcessFrameUcastLayerBuffering (CStreamFrame frame, __uint32 layer)
void ProcessFrameUcastLayerReady (CStreamFrame frame, __uint32 layer)
void RecvMessageJoin (CAddress src, CStreamMessagePushMultiJoin *message)
void RecvMessageLeave (CAddress src, CStreamMessagePushMultiLeave *message)
void RecvMessageClose (CAddress src, CStreamMessagePushMultiClose *message)
void RecvMessageBootResponse (CAddress src, CStreamMessageBootPushMultiResponse *message)
void StreamBootstrap ()
void StreamJoin ()
void StreamJoin (__uint32 layer)
void StreamLeave ()
void StreamLeave (__uint32 layer)
void StreamRegister (__uint32 layer)
void StreamDeregister (__uint32 layer)
void StreamClose ()
void SendStream (CStreamFrame frame, __uint32 layer)
void RejectJoin (CAddress src, CStreamMessagePushMultiJoin *message)
void TimerPlayMcast (CTimerInfo *info)
void TimerPlayUcast (CTimerInfo *info)
void TimerBoot (CTimerInfo *info)
void TimerRegister (CTimerInfo *info)
void TimerBuffer (CTimerInfo *info)

Private Attributes

EClientState stateClient
CInfoPushMultiinfo
CAddress address
CChannelchannel
CStreamBufferbufferMcast
CStreamBufferMultibufferUcast
void(CStreamClientPushMulti::* processFrame )(CStreamFrame frame)
__time sessionTimeLastStart
__time sessionTimeLastStop
__uint32 sessionFrameLastStart
__uint32 sessionFrameLastStop
__bitrate bw
__bitrate bwUsed
CLayer ** layers
CLayersInfo layersInfo
__uint32 entry
CTimer< CStreamClientPushMulti > * timerPlayMcast
CTimer< CStreamClientPushMulti > * timerPlayUcast
CTimer< CStreamClientPushMulti > * timerBoot
__uint32 timerBufferChannel
Delegate2
< CStreamClientPushMulti, void,
CAddress, CStreamFrame > * 
delegateRecvFrameMcast
Delegate2
< CStreamClientPushMulti, void,
CAddress, CStreamFrame > * 
delegateRecvFrameUcast
IDelegate2< void, CAddress,
CPacketStream * > * 
delegateSendStream
IDelegate2< void, CAddress,
CStreamMessage * > * 
delegateSendMessage
IDelegate2< void, CAddress,
__uint32 > * 
delegateIgmpJoin
IDelegate1< void, CAddress > * delegateIgmpLeave
IDelegate0< CLink * > * delegateLink
CStreamEncoderFrameencoder
CStreamDecoderdecoder
CStreamDecoderFramedecoderMcast
CStreamDecoderFramedecoderUcast
__uint32 statRecvFrames
__uint32 statDiscardedFrames
__uint32 statPlayFrames
__uint32 statSuccessFrames [3]
__uint32 statFailFrames [3]
__uint32 statPlayFirstFrame
__uint32 statPlayLastFrame
__time statTimeClientStart
__time statTimeRecvStart
__time statTimePlayStart
__time statTimeFinish
__time statTimeWait
__time statSyncDelaySum
__uint32 statSyncDelayCount

Detailed Description

Definition at line 20 of file StreamClientPushMulti.h.


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

Last updated: February 8, 2011