#include <WorkItemPool.h>
Public Member Functions | |
| WorkItemPool () | |
| ~WorkItemPool () | |
| void | reservePoolSize (const unsigned int reservedPoolSize) volatile |
| void | waitForPoolEmpty (const unsigned int secWait=0) volatile |
| void | waitToWrite (pthread_t selfId) volatile |
| void | addPoolItem (const string &id, const WorkItem< T > &item) volatile |
| void | addUniquePoolItem (const string id, const WorkItem< T > &item) volatile |
| WorkItem< T > | getPoolItem (const string id, const bool throwOnError=true) volatile |
| WorkItem< T > | getPoolItem (const bool lock=true) volatile |
| WorkItem< T > | removePoolItem (const bool lock=true) volatile |
| void | erasePoolItem (string id, const bool throwOnError=true) volatile |
| WorkItem< T > | removePoolItem (string id, const bool throwOnError=true) volatile |
| void | Dump () volatile |
| unsigned int | getSize () volatile |
| void | SignalAllReaders () |
| void | SignalReaders () |
| void | SignalWriters () |
| void | ShutdownPool () |
| void | ShutdownPoolWriters () |
| bool | IsRunning () const |
Private Types | |
| typedef pair< string, WorkItem < T > > | WorkItemPool_QueuedItemType |
| typedef deque < WorkItemPool_QueuedItemType > | WorkItemPool_QueueType |
| typedef map< pthread_t, unsigned int > | WorkItemPool_CounterType |
Private Member Functions | |
| WorkItemPool (const WorkItemPool &) | |
| WorkItemPool & | operator= (const WorkItemPool &) |
Static Private Member Functions | |
| static void | DeleteReserves (void *data) |
Private Attributes | |
| pthread_key_t | ReserveKey |
| bool | m_Shutdown |
| volatile WorkItemPool_QueueType | m_Pool |
| volatile WorkItemPool_CounterType | m_WriterItems |
| pthread_mutex_t | PoolSyncMutex |
| pthread_mutex_t | ReserveSyncMutex |
| pthread_cond_t | PoolReaderBarrier |
| pthread_cond_t | PoolWriterBarrier |
|
private |
|
private |
|
private |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestaticprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |