63 template <
typename T0>
69 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Scheduler>> mScheduler;
70 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::WorkerPool>> mWorkers;
71 ::ll::TypedStorage<8, 32, ::std::string> mName;
72 ::ll::TypedStorage<1, 1, bool> mCheckOwnerThread;
73 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mLock;
74 ::ll::TypedStorage<4, 4, ::std::atomic<::TaskGroupState>> mState;
75 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mTasks;
76 ::ll::TypedStorage<8, 8, uint64> mTaskCount;
77 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mEnumCurr;
78 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mEnumNext;
79 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<void>> mResumeTaskHandle;
80 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mResumeTaskMutex;
90 virtual ::Bedrock::Threading::Async<void> queue_DEPRECATED(
93 ::std::function<
void()>&& callback
96 virtual ::Bedrock::Threading::Async<void> queueSync_DEPRECATED(
101 virtual ~TaskGroup() ;
103 virtual void taskRegister(::std::shared_ptr<::BackgroundTaskBase> task) ;
105 virtual void requeueTask(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate) ;
107 virtual ::TaskGroupState getState() const ;
109 virtual
void processCoroutines() ;
113 virtual
bool _workerPoolIsAsync() const;
121 MCAPI
void _doWorkUntil(::Bedrock::Threading::SharedAsync<
void> task, ::brstd::promise<
void>* workStarted);
123 MCAPI
void _forAllTasks(
124 ::Bedrock::Threading::UniqueLock<::Bedrock::Threading::Mutex>& lock,
131 MCAPI uint64 count()
const;
134 MCAPI
void disableOwnerThreadChecks();
136 MCAPI
void flush(::std::function<
void()> waitFn);
139 MCAPI uint64 getMaxConcurrency()
const;
142 MCFOLD ::std::string_view getName()
const;
144 MCAPI ::std::thread::id getOwnerThreadID()
const;
146 MCAPI ::Scheduler& getScheduler();
148 MCAPI
bool isEmpty()
const;
151 MCAPI
void kick(uint count);
160 MCAPI
void sync_DEPRECATED_ASK_TOMMO(::std::function<
void()> waitFn);
166 MCAPI static ::IBackgroundTaskOwner* getCurrentTaskGroup();
168 MCAPI static ::Bedrock::Threading::Async<void>
171 MCAPI static ::Bedrock::Threading::Async<void> queueChild_DEPRECATED(
174 ::std::function<
void()>&& callback
193 MCAPI ::Bedrock::Threading::Async<void> $queue_DEPRECATED(
196 ::std::function<
void()>&& callback
199 MCAPI ::Bedrock::Threading::Async<void>
202 MCAPI
void $taskRegister(::std::shared_ptr<::BackgroundTaskBase> task);
204 MCAPI
void $requeueTask(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate);
206 MCFOLD ::TaskGroupState $getState()
const;
208 MCAPI
void $processCoroutines();
210 MCAPI
void $taskComplete(::gsl::not_null<::BackgroundTaskBase*> task);
212 MCAPI
bool $_workerPoolIsAsync()
const;
Definition WorldPacksHistoryFile.h:12
Definition TextFilterResult.h:7