#ifndef _INCLUDE_SMUD_H_ #define _INCLUDE_SMUD_H_ #include "smud.h" #include "smud_connections.h" void *ThreadCallback(void *data); class ThreadWorker { public: ThreadWorker(); ~ThreadWorker(); public: bool Start(); void CancelAndWait(); void AddConnection(int fd); void Process(); private: ConnectionPool *m_pPool; pthread_t m_Thread; pthread_mutex_t m_NotifyLock; pthread_cond_t m_Notify; bool m_bShouldCancel; }; class ThreadPool { public: ThreadPool(); ~ThreadPool(); public: void AddConnection(int fd); bool Start(); void Stop(); private: ThreadWorker *m_pWorker; }; #endif //_INCLUDE_SMUD_H_