sourcemod/tools/daemon/smud_threads.h

42 lines
621 B
C
Raw Normal View History

#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_