flx_async.hpp

00001 #line 2350 "./lpsrc/flx_rtl.pak"
00002 #ifndef __FLX_ASYNC_H__
00003 #define __FLX_ASYNC_H__
00004 #include "flx_rtl_config.hpp"
00005 #include "flx_rtl.hpp"
00006 
00007 #ifdef BUILD_ASYNC
00008 #define ASYNC_EXTERN FLX_EXPORT
00009 #else
00010 #define ASYNC_EXTERN FLX_IMPORT
00011 #endif
00012 
00013 // GLOBAL NAMESPACE!
00014 
00015 class ASYNC_EXTERN async_hooker {
00016 public:
00017   virtual flx::rtl::fthread_t *dequeue()=0;
00018   virtual void handle_request(void *data, flx::rtl::fthread_t *ss)=0;
00019   virtual ~async_hooker();
00020 };
00021 
00022 typedef
00023 async_hooker *
00024 create_async_hooker_t
00025 (
00026   int n0,   // bound on resumable thread queue
00027   int n1,   // bound on general input job queue
00028   int m1,   // number of threads in job pool
00029   int n2,   // bound on async fileio job queue
00030   int m2    // number of threads doing async fileio
00031 );
00032 
00033 extern "C" {
00034 ASYNC_EXTERN async_hooker *
00035 create_async_hooker
00036 (
00037   int n0,   // bound on resumable thread queue
00038   int n1,   // bound on general input job queue
00039   int m1,   // number of threads in job pool
00040   int n2,   // bound on async fileio job queue
00041   int m2    // number of threads doing async fileio
00042 );
00043 }
00044 
00045 #endif

Generated on Mon Dec 24 04:04:21 2007 for Felix by  doxygen 1.5.4