3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/container/MovePriorityQueue.h"
7#include "mc/deps/core/threading/BackgroundTaskBase.h"
8#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
9#include "mc/platform/brstd/flat_set.h"
15namespace Bedrock::Threading {
class Mutex; }
16namespace Bedrock::Threading {
class OSThreadPriority; }
60 ::std::optional<uint64> coreAffinityMask,
61 bool suppressWorkerProfiling,
62 ::std::optional<int> idealCore
67 MCNAPI
void queue(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate);
69 MCNAPI ::std::shared_ptr<::BackgroundTaskBase>
tryPop(
int minPriority);
81 MCNAPI static ::brstd::flat_set<::WorkerPool*, ::std::less<::WorkerPool*>, ::std::vector<::WorkerPool*>>&
96 ::std::optional<uint64> coreAffinityMask,
97 bool suppressWorkerProfiling,
98 ::std::optional<int> idealCore
Definition BackgroundTaskBase.h:15
Definition EnableNonOwnerReferences.h:7
Definition OSThreadPriority.h:7
Definition Scheduler.h:13
Definition WorkerPool.h:19
MCAPI void queue(::std::shared_ptr<::BackgroundTaskBase > task, bool queueImmediate)
MCAPI WorkerPool(::std::string name, ::Scheduler &owner)
static MCAPI void ** $vftable()
MCAPI ::std::shared_ptr<::BackgroundTaskBase > tryPop(int minPriority)
MCAPI void * $ctor(::std::string name, uint64 threadCount, ::Bedrock::Threading::OSThreadPriority const &priority, ::std::optional< uint64 > coreAffinityMask, bool suppressWorkerProfiling, ::std::optional< int > idealCore)
MCAPI WorkerPool(::std::string name, uint64 threadCount, ::Bedrock::Threading::OSThreadPriority const &priority, ::std::optional< uint64 > coreAffinityMask, bool suppressWorkerProfiling, ::std::optional< int > idealCore)
static MCAPI ::Bedrock::Threading::Mutex & sAllPoolsMutex()
MCAPI void * $ctor(::std::string name, ::Scheduler &owner)
static MCAPI ::brstd::flat_set<::WorkerPool *, ::std::less<::WorkerPool * >, ::std::vector<::WorkerPool * > > & sAllPools()
static MCAPI void _registerPool(::WorkerPool &pool)
MCAPI bool _checkPendingWork()