-class IThreadPoolMsg {
-public:
- virtual IThreadPoolMsg *handle() = 0;
- virtual void result() = 0;
- virtual ~IThreadPoolMsg();
-};
-
-class ThreadPoolSocketObserver : public yazpp_1::ISocketObserver {
- public:
- ThreadPoolSocketObserver(yazpp_1::ISocketObservable *obs, int no_threads);
- virtual ~ThreadPoolSocketObserver();
- void socketNotify(int event);
- void put(IThreadPoolMsg *m);
- IThreadPoolMsg *get();
- void run(void *p);
- int m_fd[2];
-private:
- yazpp_1::ISocketObservable *m_SocketObservable;
- int m_no_threads;
- boost::thread_group m_thrds;
-
- 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;
-};
-
+namespace metaproxy_1 {
+ class IThreadPoolMsg {
+ public:
+ virtual IThreadPoolMsg *handle() = 0;
+ virtual void result() = 0;
+ virtual ~IThreadPoolMsg();
+ };
+
+ 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);
+ IThreadPoolMsg *get();
+ void run(void *p);
+ private:
+ void socketNotify(int event);
+ boost::scoped_ptr<Rep> m_p;
+
+ };
+}