Alex Bikfalvi
SimStream Documentation
CStreamClientPull Class Reference
Inheritance diagram for CStreamClientPull:
Public Member Functions | |
CStreamClientPull (CSimHandler *sim, CInfoPull *info, CAddress address, IDelegate5< void, __uint16, __uint16, CAddress, __byte, CPacket * > *delegateSend, IDelegate2< void, CAddress, __uint32 > *delegateIgmpJoin, IDelegate1< void, CAddress > *delegateIgmpLeave, IDelegate0< CLink * > *delegateLink, __uint32 entry) | |
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_STREAM_FIRST = 20, UCAST_STREAM_BUFFERING = 21, UCAST_STREAM_PLAY = 22 } |
enum | EScheduleState { SCHEDULE_IDLE = 0, SCHEDULE_BOOTSTRAP_REQUEST = 1, SCHEDULE_BOOTSTRAP_RESPONSE = 2, SCHEDULE_CONNECT_REQUEST = 3, SCHEDULE_CONNECT_RESPONSE = 4, SCHEDULE_BITMAP_REQUEST = 5, SCHEDULE_BITMAP_RESPONSE = 6, SCHEDULE_POST_BITMAP_RESPONSE = 7, SCHEDULE_SEGMENT_REQUEST = 8, SCHEDULE_SEGMENT_RESPONSE = 9, SCHEDULE_POST_SEGMENT_RESPONSE = 10 } |
enum | ERegistrationState { NOT_REGISTERED = 0, REGISTERED = 1 } |
typedef set< CAddress > | TNeighborList |
typedef map< CAddress, CStreamPullSender * > | TRequestList |
Private Member Functions | |
void | StartMcast () |
void | StartUcast () |
void | StopMcast () |
void | StopUcast () |
void | RecvFrameMcast (CAddress address, CStreamFrame frame) |
void | ProcessFrameMcastFirst (CStreamFrame frame) |
void | ProcessFrameMcastBuffering (CStreamFrame frame) |
void | ProcessFrameMcastPlay (CStreamFrame frame) |
void | ProcessFrameMcastWait (CStreamFrame frame) |
void | ProcessFrameUcastFirst (CStreamFrame frame) |
void | ProcessFrameUcastBuffering (CStreamFrame frame) |
void | ProcessFrameUcastPlay (CStreamFrame frame) |
void | TimerPlayMcast (CTimerInfo *info) |
void | TimerPlayUcast (CTimerInfo *info) |
void | TimerRegister (CTimerInfo *info) |
void | TimerSchedule (CTimerInfo *info) |
void | ScheduleBootstrapRequest () |
void | ScheduleConnectRequest () |
void | ScheduleBitmapRequest () |
void | SchedulePostBitmapResponse () |
void | ScheduleSegmentRequest () |
void | RecvStream (CAddress dst, CPacketStream *packet) |
void | RecvMessage (CAddress src, CStreamMessage *message) |
void | RecvConnection (CAddress srcAddress, __uint16 srcPort, __uint16 dstPort, CPacketConnection *packet) |
void | RecvMessageBootResponse (CAddress src, CStreamMessageBootPullResponse *message) |
void | RecvMessageBitmapRequest (CAddress src, CStreamMessagePullBitmapRequest *message) |
void | RecvMessageBitmapResponse (CAddress src, CStreamMessagePullBitmapResponse *message) |
void | RecvMessageSegmentRequest (CAddress src, CStreamMessagePullSegmentRequest *message) |
void | RecvMessageSegmentResponse (CAddress src, CStreamMessagePullSegmentResponse *message) |
void | ConnectionRecv (CConnectionReceiver *receiver, CPacket *packet) |
bool | ConnectionAccept (CAddress src, CPacket *packet) |
void | ConnectionAccepted (CConnectionSender *sender) |
void | ConnectionReceiverOpen (CConnection *receiver, CConnection::EOpenResult result) |
void | ConnectionReceiverClose (CConnection *receiver, CConnection::ECloseResult result) |
void | ConnectionSenderOpen (CConnection *sender, CConnection::EOpenResult result) |
void | ConnectionSenderClose (CConnection *sender, CConnection::ECloseResult result) |
void | SendMessage (CAddress dst, CStreamMessage *message) |
void | UcastRegister () |
void | UcastDeregister () |
Private Attributes | |
EClientState | stateClient |
ERegistrationState | stateRegistration |
EScheduleState | stateSchedule |
CInfoPull * | info |
CAddress | address |
CChannel * | channel |
CStreamBuffer * | bufferMcast |
CStreamBufferSegment * | bufferUcast |
void(CStreamClientPull::* | processFrame )(CStreamFrame frame) |
__time | sessionTimeLastStart |
__time | sessionTimeLastStop |
__uint32 | sessionFrameLastStart |
__uint32 | sessionFrameLastStop |
__uint32 | entry |
CConnectionLayer * | connectionLayer |
TNeighborList | neighbors |
TRequestList | requestBitmaps |
TRequestList | requestSegments |
CStreamPullSender::TSenderList | sendersConnecting |
CStreamPullSender::TSenderList | senders |
CStreamPullReceiver::TReceiverList | receivers |
__uint32 | scheduleSegment |
__uint8 | scheduleNumCopiesLo [64] |
__uint8 | scheduleNumCopiesHi [64] |
bool | scheduleBitmapLo [PULL_MAX_SENDERS][64] |
bool | scheduleBitmapHi [PULL_MAX_SENDERS][64] |
CStreamPullSender * | scheduleSenderLo [PULL_MAX_SENDERS][64] |
CStreamPullSender * | scheduleSenderHi [PULL_MAX_SENDERS][64] |
__uint8 | scheduleSenderIndexLo [PULL_MAX_SENDERS][64] |
__uint8 | scheduleSenderIndexHi [PULL_MAX_SENDERS][64] |
__time | scheduleDeadlineLo [PULL_MAX_SENDERS][64] |
__time | scheduleDeadlineHi [PULL_MAX_SENDERS][64] |
__bitrate | scheduleBw [PULL_MAX_SENDERS] |
CStreamPullSender * | scheduleSenders [64] |
__time | scheduleDeadlineDelta |
CTimer< CStreamClientPull > * | timerPlayMcast |
CTimer< CStreamClientPull > * | timerPlayUcast |
CTimer< CStreamClientPull > * | timerRegister |
CTimer< CStreamClientPull > * | timerSchedule |
Delegate2< CStreamClientPull, void, CAddress, CStreamFrame > * | delegateRecvFrameMcast |
Delegate2< CStreamClientPull, void, CConnectionReceiver *, CPacket * > * | delegateConnectionRecv |
Delegate2< CStreamClientPull, bool, CAddress, CPacket * > * | delegateConnectionAccept |
Delegate1< CStreamClientPull, void, CConnectionSender * > * | delegateConnectionAccepted |
Delegate2< CStreamClientPull, void, CConnection *, CConnection::EOpenResult > * | delegateConnectionReceiverOpen |
Delegate2< CStreamClientPull, void, CConnection *, CConnection::ECloseResult > * | delegateConnectionReceiverClose |
Delegate2< CStreamClientPull, void, CConnection *, CConnection::EOpenResult > * | delegateConnectionSenderOpen |
Delegate2< CStreamClientPull, void, CConnection *, CConnection::ECloseResult > * | delegateConnectionSenderClose |
IDelegate2< void, CAddress, __uint32 > * | delegateIgmpJoin |
IDelegate1< void, CAddress > * | delegateIgmpLeave |
IDelegate5< void, __uint16, __uint16, CAddress, __byte, CPacket * > * | delegateSend |
IDelegate0< CLink * > * | delegateLink |
CStreamDecoderFrame * | decoderMcast |
__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 26 of file StreamClientPull.h.
The documentation for this class was generated from the following files:
Last updated: February 8, 2011