demux_poll_demuxer.hpp

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 // not re-entrant
00009 
00010 namespace flx { namespace demux {
00011 
00012 class DEMUX_EXTERN poll_demuxer : public posix_demuxer {
00013   void*  fd_array;    // make him stop!
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);    // returns nevents
00025   void process_evts(void* infds, void* svs, int nevts);
00026 };
00027 
00028 } }
00029 #endif
00030 

Generated on Mon Dec 11 18:08:29 2006 for Felix by  doxygen 1.5.1