| author | David Anderson <dvander@alliedmods.net> |
| Wed Feb 25 19:22:36 2009 -0500 (2009-02-25) | |
| changeset 2603 | fa286305bd3f |
| parent 2129 | 11d73bf97119 |
| permissions | -rw-r--r-- |
| pred@2129 | 1 |
#ifndef _INCLUDE_SMUD_H_ |
| pred@2129 | 2 |
#define _INCLUDE_SMUD_H_ |
| pred@2129 | 3 |
|
| pred@2129 | 4 |
#include "smud.h" |
| pred@2129 | 5 |
#include "smud_connections.h" |
| pred@2129 | 6 |
|
| pred@2129 | 7 |
void *ThreadCallback(void *data); |
| pred@2129 | 8 |
|
| pred@2129 | 9 |
class ThreadWorker |
| pred@2129 | 10 |
{ |
| pred@2129 | 11 |
public: |
| pred@2129 | 12 |
ThreadWorker(); |
| pred@2129 | 13 |
~ThreadWorker(); |
| pred@2129 | 14 |
public: |
| pred@2129 | 15 |
bool Start(); |
| pred@2129 | 16 |
void CancelAndWait(); |
| pred@2129 | 17 |
void AddConnection(int fd); |
| pred@2129 | 18 |
void Process(); |
| pred@2129 | 19 |
private: |
| pred@2129 | 20 |
ConnectionPool *m_pPool; |
| pred@2129 | 21 |
pthread_t m_Thread; |
| pred@2129 | 22 |
pthread_mutex_t m_NotifyLock; |
| pred@2129 | 23 |
pthread_cond_t m_Notify; |
| pred@2129 | 24 |
bool m_bShouldCancel; |
| pred@2129 | 25 |
}; |
| pred@2129 | 26 |
|
| pred@2129 | 27 |
class ThreadPool |
| pred@2129 | 28 |
{ |
| pred@2129 | 29 |
public: |
| pred@2129 | 30 |
ThreadPool(); |
| pred@2129 | 31 |
~ThreadPool(); |
| pred@2129 | 32 |
public: |
| pred@2129 | 33 |
void AddConnection(int fd); |
| pred@2129 | 34 |
bool Start(); |
| pred@2129 | 35 |
void Stop(); |
| pred@2129 | 36 |
private: |
| pred@2129 | 37 |
ThreadWorker *m_pWorker; |
| pred@2129 | 38 |
}; |
| pred@2129 | 39 |
|
| pred@2129 | 40 |
#endif //_INCLUDE_SMUD_H_ |
| pred@2129 | 41 |