Alex Bikfalvi
SimStream Documentation
HostClientPushMulti.h
00001 #pragma once 00002 00003 #include "HostClient.h" 00004 #include "StreamClientPushMulti.h" 00005 00006 class CHostClientPushMulti : public CHostClient 00007 { 00008 protected: 00009 // Global 00010 CInfoPushMulti* info; 00011 00012 // Delegates 00013 Delegate4<CHostClientPushMulti, void, __uint32, CPacketIp*, CPacketUdp*, CPacket*>* 00014 delegateRecv; 00015 00016 Delegate2<CHostClientPushMulti, void, CAddress, CPacketStream*>* 00017 delegateSendStream; 00018 Delegate2<CHostClientPushMulti, void, CAddress, CStreamMessage*>* 00019 delegateSendMessage; 00020 00021 Delegate0<CHostClientPushMulti, CLink*>* 00022 delegateLink; 00023 00024 public: 00025 CHostClientPushMulti( 00026 __uint32 id, 00027 CSimHandler* sim, 00028 CAddress address, 00029 CInfoPushMulti* info, 00030 CData* data, 00031 __bitrate bw 00032 ); 00033 virtual ~CHostClientPushMulti(); 00034 00035 virtual void Finalize(); 00036 00037 protected: 00038 virtual void ChannelConnectUcast(CChannel* channel); 00039 virtual void ChannelDisconnectUcast(); 00040 00041 virtual void ChannelConnectMcast(CChannel* channel); 00042 virtual void ChannelDisconnectMcast(); 00043 00044 private: 00045 void Recv(__uint32 entry, CPacketIp* ip, CPacketUdp* udp, CPacket* packet); 00046 00047 void SendStream(CAddress dst, CPacketStream* packet); 00048 void SendMessage(CAddress dst, CStreamMessage* message); 00049 00050 inline CLink* Link() { return CNode::Link(0); } 00051 };
Last updated: February 8, 2011