|
| PQueuedThreadPool (unsigned maxWorkers=std::max(PThread::GetNumProcessors(), 10U), unsigned maxWorkUnits=0, const char *threadName=NULL, PThread::Priority priority=PThread::NormalPriority, const PTimeInterval &workerIncreaseLatency=PMaxTimeInterval, unsigned workerIncreaseLimit=0) |
|
const PTimeInterval & | GetWorkerIncreaseLatency () const |
|
void | SetWorkerIncreaseLatency (const PTimeInterval &time) |
|
unsigned | GetWorkerIncreaseLimit () const |
|
void | SetWorkerIncreaseLimit (unsigned limit) |
|
virtual void | OnMaxWaitTime (const QueuedWorkerThread &PTRACE_PARAM(thread), const PTimeInterval &PTRACE_PARAM(latency), const string &PTRACE_PARAM(group)) |
|
| PThreadPool (unsigned maxWorkers=10, unsigned maxWorkUnits=0, const char *threadName=NULL, PThread::Priority priority=PThread::NormalPriority) |
|
bool | AddWork (Work_T *work, const char *group=NULL) |
|
bool | RemoveWork (Work_T *work) |
|
| ~PThreadPoolBase () |
|
void | Shutdown () |
|
virtual void | ReclaimWorkers () |
|
unsigned | GetMaxWorkers () const |
|
void | SetMaxWorkers (unsigned count) |
|
unsigned | GetMaxUnits () const |
|
void | SetMaxUnits (unsigned count) |
|
__inline unsigned | GetTraceContextIdentifier () const |
| Get PTRACE context identifier. More...
|
|
__inline void | SetTraceContextIdentifier (unsigned id) |
|
__inline void | SetTraceContextIdentifier (const PObject &obj) |
|
__inline void | SetTraceContextIdentifier (const PObject *obj) |
|
__inline void | CopyTraceContextIdentifier (PObject &obj) const |
|
__inline void | CopyTraceContextIdentifier (PObject *obj) const |
|
virtual | ~PObject () |
|
__inline const char * | GetClass () const |
|
__inline bool | IsClass (const char *name) const |
|
__inline const PObject * | PTraceObjectInstance () const |
|
virtual PObject * | Clone () const |
| Create a copy of the class on the heap. More...
|
|
template<class CLS > |
CLS * | CloneAs () const |
| As for Clone() but converts to specified type. More...
|
|
virtual PINDEX | HashFunction () const |
| This function yields a hash value required by the PDictionary class. More...
|
|
virtual Comparison | Compare (const PObject &obj) const |
| Compare the two objects and return their relative rank. More...
|
|
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
| Determine the byte wise comparison of two objects. More...
|
|
bool | operator== (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator!= (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator< (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator> (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator<= (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator>= (const PObject &obj) const |
| Compare the two objects. More...
|
|
virtual void | PrintOn (ostream &strm) const |
| Output the contents of the object to the stream. More...
|
|
virtual void | ReadFrom (istream &strm) |
| Input the contents of the object from the stream. More...
|
|
|
typedef std::map< Work_T
*, InternalWork > | ExternalToInternalWorkMap_T |
|
typedef std::map< std::string,
GroupInfo > | GroupInfoMap_t |
|
enum | Comparison { LessThan = -1,
EqualTo = 0,
GreaterThan = 1
} |
| Result of the comparison operation performed by the Compare() function. More...
|
|
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) |
|
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) |
|
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) |
|
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) |
|
static __inline const char * | Class () |
|
static __inline const PObject * | PTraceObjectInstance (const char *) |
|
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
|
template<typename T > |
static Comparison | Compare2 (T v1, T v2) |
| Compare two types, returning Comparison type. More...
|
|
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
| Internal function caled from CompareObjectMemoryDirect() More...
|
|
ExternalToInternalWorkMap_T | m_externalToInternalWorkMap |
|
GroupInfoMap_t | m_groupInfoMap |
|
typedef std::vector
< WorkerThreadBase * > | WorkerList_t |
|
template<class Work_T>
class PQueuedThreadPool< Work_T >
High Level (queued work item) thread pool.