32 #ifndef _ESN_WORKMANAGER_H_
33 #define _ESN_WORKMANAGER_H_
37 #include "BufferManager.h"
54 virtual int Stop() = 0;
59 virtual int Abort() = 0;
81 virtual int AddWorkTask(WorkPtr work, BufferPtr workdata) = 0;
93 virtual int PutWork(
int key, WorkPtr work) = 0;
99 virtual WorkPtr
GetWork(
int key) = 0;
106 virtual int PutWork(
const std::string& key, WorkPtr work) = 0;
112 virtual WorkPtr
GetWork(
const std::string& key) = 0;
116 typedef boost::shared_ptr<WorkManager> WorkManagerPtr;
122 WorkManagerPtr
CreateWorkManager(
int minworkercount = 0,
int maxworkercount = 0,
int workstack = 0);
134 #endif // WORKMANAGER_H
Work Manager class (interface), it will work like a thread pool.
Definition: WorkManager.h:43
virtual int AddWorkTask(WorkPtr work, BufferPtr workdata)=0
WorkManagerPtr CreateWorkManager(int minworkercount=0, int maxworkercount=0, int workstack=0)
virtual WorkPtr GetWork(int key)=0
virtual int GetWorkerCount()=0
virtual void SetBufferManager(BufferManagerPtr manager)=0
virtual int GetTaskCount()=0
virtual int PutWork(int key, WorkPtr work)=0