00001 /* -*- mode: c++; c-basic-offset: 4; -*- */ 00002 #ifndef SENDS_BUFFER_POOL_HH 00003 #define SENDS_BUFFER_POOL_HH 00004 00005 //#include "tbb/concurrent_queue.h" 00006 #include "mt_queue.hh" 00007 00008 namespace sends { 00009 00010 class buffer; 00011 00019 class buffer_pool { 00020 public: 00023 typedef thread::mt_queue<buffer*> buffer_queue; 00024 //typedef tbb::concurrent_queue<buffer*> buffer_queue; 00025 public: 00031 buffer_pool(long nbuf, long lbuf); 00032 00036 ~buffer_pool(void); 00037 00042 buffer* get_buffer(void); 00043 00049 buffer* get_buffer_now(void); 00050 00055 void return_buffer(buffer* buf); 00056 private: 00057 buffer_queue mQueue; 00058 }; 00059 } 00060 00061 #endif
1.5.5