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