|
| | 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.