demux_poll_demuxer.hpp
00001 #line 3 "./lpsrc/flx_poll_demux.ipk"
00002 #ifndef __FLX_DEMUX_POLL_DEMUXER_H__
00003 #define __FLX_DEMUX_POLL_DEMUXER_H__
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