00001 #line 4254 "./lpsrc/flx_demux.pak"
00002 #ifndef __POLL_DEMUXER__
00003 #define __POLL_DEMUXER__
00004
00005 #include <flx_demux_config.hpp>
00006 #include "demux_posix_demuxer.hpp"
00007
00008
00009
00010 namespace flx { namespace demux {
00011
00012 class DEMUX_EXTERN poll_demuxer : public posix_demuxer {
00013 void* fd_array;
00014 void* sv_array;
00015
00016 virtual void get_evts(bool poll);
00017 public:
00018 poll_demuxer();
00019 virtual ~poll_demuxer();
00020
00021 virtual int add_socket_wakeup(socket_wakeup* sv, int flags);
00022
00023 void get_arrays(void** fds, void** svs);
00024 int dopoll(void* infds, bool poll_flag);
00025 void process_evts(void* infds, void* svs, int nevts);
00026 };
00027
00028 } }
00029 #endif
00030