- std::deque<IThreadPoolMsg *> m_input;
- std::deque<IThreadPoolMsg *> m_output;
-
- boost::mutex m_mutex_input_data;
- boost::condition m_cond_input_data;
- boost::mutex m_mutex_output_data;
- bool m_stop_flag;
-
-
-};
+ class ThreadPoolSocketObserver : public yazpp_1::ISocketObserver {
+ class Rep;
+ class Worker;
+ public:
+ ThreadPoolSocketObserver(yazpp_1::ISocketObservable *obs,
+ int no_threads);
+ virtual ~ThreadPoolSocketObserver();
+ void put(IThreadPoolMsg *m);
+ void cleanup(IThreadPoolMsg *m, void *info);
+ IThreadPoolMsg *get();
+ void run(void *p);
+ void get_thread_info(int &tbusy, int &total);
+ private:
+ void socketNotify(int event);
+ boost::scoped_ptr<Rep> m_p;