25 using PendingJobQueue =
31 ::ll::TypedStorage<1, 1, bool const> mAsync;
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::BackgroundWorker>>> mWorkers;
33 ::ll::TypedStorage<8, 32, ::std::string> mName;
34 ::ll::TypedStorage<8, 64, ::BackgroundWorkerPerfInfo> mPerfInfo;
35 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastPerfInfoUpdate;
36 ::ll::TypedStorage<8, 8, ::Scheduler*> mOwnerScheduler;
37 ::ll::TypedStorage<8, 80, ::std::mutex> mSuspendLock;
38 ::ll::TypedStorage<4, 4, ::Bedrock::Threading::OSThreadPriority> mPoolPriority;
39 ::ll::TypedStorage<4, 4, float> mMinBacklogDurationSeconds;
40 ::ll::TypedStorage<8, 24, ::SpinLockImpl> mPendingWorkQueueLock;
46 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mNextPendingWorkTime;
47 ::ll::TypedStorage<8, 360, ::BackgroundTaskQueue> mTaskQueue;
60 MCNAPI ::std::vector<::std::thread::id> getThreadIds()
const;
62 MCNAPI
void kick(uint64 count);
65 MCNAPI
void queue(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate);
77 MCNAPI static ::brstd::flat_set<::WorkerPool*, ::std::less<::WorkerPool*>, ::std::vector<::WorkerPool*>>&