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 // 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 Thu May 29 14:05:03 2008 for Felix by  doxygen 1.5.5