Alex Bikfalvi
SimStream Documentation
StreamServerPushMcast.h
00001 #pragma once 00002 00003 #include "StreamServer.h" 00004 #include "Address.h" 00005 #include "Timer.h" 00006 #include "StreamEncoderFrame.h" 00007 #include "PacketIp.h" 00008 #include "PacketUdp.h" 00009 #include "PacketStream.h" 00010 00011 class CStreamServerPushMcast : public CStreamServer 00012 { 00013 private: 00014 // Global 00015 CTimer<CStreamServerPushMcast>* timer; 00016 __uint32 entry; 00017 00018 // Stream 00019 CStreamSource* source; 00020 __time scheduleTime; 00021 __uint32 scheduleFrame; 00022 __uint32 scheduleRate; 00023 __uint32 deltaFrame; 00024 00025 // Coders 00026 CStreamEncoderFrame* encoder; 00027 00028 // Delegates 00029 IDelegate2<void, CAddress, CPacketStream*>* 00030 delegateSendStream; 00031 00032 IDelegate2<void, CAddress, __uint32>* 00033 delegateIgmpJoin; 00034 IDelegate1<void, CAddress>* delegateIgmpLeave; 00035 00036 public: 00037 CStreamServerPushMcast( 00038 CSimHandler* sim, 00039 CStreamSource* source, 00040 IDelegate2<void, CAddress, CPacketStream*>* delegateSendStream, 00041 IDelegate2<void, CAddress, __uint32>* delegateIgmpJoin, 00042 IDelegate1<void, CAddress>* delegateIgmpLeave, 00043 __uint32 entry 00044 ); 00045 virtual ~CStreamServerPushMcast(); 00046 00047 // Control 00048 void Start(); 00049 void Stop(); 00050 00051 // Finalizer 00052 virtual void Finalize(); 00053 00054 private: 00055 void Timer(CTimerInfo* info); 00056 };
Last updated: February 8, 2011