69 template <
typename T0>
75 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::Scheduler>> mScheduler;
76 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::WorkerPool>> mWorkers;
77 ::ll::TypedStorage<8, 32, ::std::string> mName;
78 ::ll::TypedStorage<1, 1, bool> mCheckOwnerThread;
79 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mLock;
80 ::ll::TypedStorage<4, 4, ::std::atomic<::TaskGroupState>> mState;
81 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mTasks;
82 ::ll::TypedStorage<8, 8, uint64> mTaskCount;
83 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mEnumCurr;
84 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mEnumNext;
85 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::Async<void>> mResumeTaskHandle;
86 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mResumeTaskMutex;
96 virtual ::Bedrock::Threading::Async<void> queue_DEPRECATED(
99 ::std::function<
void()>&& callback
102 virtual ::Bedrock::Threading::Async<void> queueSync_DEPRECATED(
107 virtual ~TaskGroup() ;
109 virtual void taskRegister(::std::shared_ptr<::BackgroundTaskBase> task) ;
111 virtual void requeueTask(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate) ;
113 virtual ::TaskGroupState getState() const ;
115 virtual
void processCoroutines() ;
119 virtual
bool _workerPoolIsAsync() const;
127 MCAPI
void _doWorkUntil(::Bedrock::Threading::SharedAsync<
void> task, ::brstd::promise<
void>* workStarted);
129 MCAPI
void _forAllTasks(
130 ::Bedrock::Threading::UniqueLock<::Bedrock::Threading::Mutex>& lock,
137 MCAPI uint64 count()
const;
140 MCAPI
void flush(::std::function<
void()> waitFn);
142 MCAPI
bool isEmpty()
const;
148 MCAPI
void sync_DEPRECATED_ASK_TOMMO(::std::function<
void()> waitFn);
154 MCAPI static ::Bedrock::Threading::Async<void>
157 MCAPI static ::Bedrock::Threading::Async<void> queueChild_DEPRECATED(
160 ::std::function<
void()>&& callback
179 MCAPI ::Bedrock::Threading::Async<void> $queue_DEPRECATED(
182 ::std::function<
void()>&& callback
185 MCAPI ::Bedrock::Threading::Async<void>
188 MCAPI
void $taskRegister(::std::shared_ptr<::BackgroundTaskBase> task);
190 MCAPI
void $requeueTask(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate);
192 MCFOLD ::TaskGroupState $getState()
const;
194 MCAPI
void $processCoroutines();
196 MCAPI
void $taskComplete(::gsl::not_null<::BackgroundTaskBase*> task);
198 MCAPI
bool $_workerPoolIsAsync()
const;
Definition WorldPacksHistoryFile.h:11
Definition TextFilterResult.h:7