Ark Server API (ASA) - Wiki
|
#include <QueuedThreadPoolWrapper.h>
Additional Inherited Members | |
Static Public Member Functions inherited from FQueuedThreadPool | |
static FQueuedThreadPool * | Allocate () |
Static Public Attributes inherited from FQueuedThreadPool | |
static uint32 | OverrideStackSize |
Protected Member Functions inherited from FQueuedThreadPoolWrapper | |
virtual int32 | GetMaxConcurrency () const |
virtual void | OnScheduled (const IQueuedWork *) |
virtual void | OnUnscheduled (const IQueuedWork *) |
virtual FScheduledWork * | AllocateScheduledWork () |
Protected Attributes inherited from FQueuedThreadPoolWrapper | |
FCriticalSection | Lock |
FThreadPoolPriorityQueue | QueuedWork |
ThreadPool wrapper implementation allowing to schedule up to MaxConcurrency tasks at a time making sub-partitioning another thread-pool a breeze and allowing more fine-grained control over scheduling by giving full control of task reordering.
Definition at line 214 of file QueuedThreadPoolWrapper.h.
|
inline |
InWrappedQueuedThreadPool Underlying thread pool to schedule task to. InMaxConcurrency Maximum number of concurrent tasks allowed, -1 will limit concurrency to number of threads available in the underlying thread pool. InPriorityMapper Thread-safe function used to map any priority from this Queue to the priority that should be used when scheduling the task on the underlying thread pool.
Definition at line 222 of file QueuedThreadPoolWrapper.h.
|
inlineoverridevirtual |
Checks to see if there is a thread available to perform the task. If not, it queues the work for later. Otherwise it is immediately dispatched.
InQueuedWork | The work that needs to be done asynchronously |
InQueuedWorkPriority | The priority at which to process this task |
Implements FQueuedThreadPool.
Definition at line 227 of file QueuedThreadPoolWrapper.h.
|
inline |
Apply sort predicate to reorder the queued tasks
Definition at line 236 of file QueuedThreadPoolWrapper.h.