3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/threading/Async.h"
8#include "mc/deps/core/threading/IBackgroundTaskOwner.h"
9#include "mc/deps/core/threading/SharedAsync.h"
10#include "mc/deps/core/threading/TaskGroupState.h"
11#include "mc/network/services/signaling/ISignalingServiceConfigProvider.h"
12#include "mc/platform/Copyable.h"
13#include "mc/platform/ErrorInfo.h"
14#include "mc/platform/Result.h"
15#include "mc/platform/brstd/move_only_function.h"
16#include "mc/platform/threading/UniqueLock.h"
17#include "mc/server/commands/edu/make_code_fileio/MakeCodeFileResult.h"
18#include "mc/world/level/FileArchiver.h"
34namespace Bedrock::Http {
class HeaderCollection; }
35namespace Bedrock::Http {
class Request; }
36namespace Bedrock::Http {
class Response; }
37namespace Bedrock::Http {
struct Url; }
38namespace Bedrock::Services {
struct AzureGetTokenHttpResponse; }
39namespace Bedrock::Services {
struct EnvironmentQueryResponse; }
40namespace Bedrock::Threading {
class Mutex; }
41namespace Bedrock::Threading {
struct CachedAsyncRetry; }
42namespace Json {
class Value; }
43namespace MakeCodeFileIO {
struct MakeCodeFileIOReadResult; }
44namespace PackCommand {
struct PackCommandResult; }
45namespace RepositoryLoading {
struct PackModifications; }
76 virtual ::Bedrock::Threading::Async<void> queue_DEPRECATED(
79 ::std::function<
void()>&& callback
83 virtual ::Bedrock::Threading::Async<void> queueSync_DEPRECATED(
92 virtual void taskRegister(::std::shared_ptr<::BackgroundTaskBase> task) ;
95 virtual void requeueTask(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate) ;
98 virtual ::TaskGroupState getState()
const ;
101 virtual void processCoroutines() ;
104 virtual void taskComplete(::gsl::not_null<::BackgroundTaskBase*> task) ;
107 virtual bool _workerPoolIsAsync()
const;
119 ::std::function<
void(::std::shared_ptr<::BackgroundTaskBase>
const&)> callback
124 MCNAPI
void flush(::std::function<
void()> waitFn);
155 ::std::function<
void()>&& callback
158 MCNAPI ::Bedrock::Threading::Async<void>
163 MCNAPI
void $requeueTask(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate);
Definition BackgroundTaskBase.h:13
Definition SharedAsync.h:8
Definition UniqueLock.h:8
Definition IBackgroundTaskOwner.h:17
Definition ResourcePack.h:18
Definition Scheduler.h:13
Definition TaskGroup.h:48
MCAPI void _queueInternal(::std::shared_ptr<::BackgroundTaskBase > bgtask)
MCAPI void sync_DEPRECATED_ASK_TOMMO(::std::function< void()> waitFn)
MCAPI ::Bedrock::Threading::Async< void > $queueSync_DEPRECATED(::TaskStartInfo const &startInfo, ::brstd::move_only_function<::TaskResult()> &&task)
static MCAPI void ** $vftable()
MCAPI void $taskRegister(::std::shared_ptr<::BackgroundTaskBase > task)
MCAPI void $taskComplete(::gsl::not_null<::BackgroundTaskBase * > task)
static MCAPI ::IBackgroundTaskOwner * getCurrentTaskGroup()
MCAPI::TaskGroupState $getState() const
MCAPI void _doWorkUntil(::Bedrock::Threading::SharedAsync< void > task, ::std::promise< void > *workStarted)
MCAPI bool isEmpty() const
MCAPI void _forAllTasks(::Bedrock::Threading::UniqueLock<::Bedrock::Threading::Mutex > &lock, ::std::function< void(::std::shared_ptr<::BackgroundTaskBase > const &)> callback)
MCAPI void $requeueTask(::std::shared_ptr<::BackgroundTaskBase > task, bool queueImmediate)
MCAPI void flush(::std::function< void()> waitFn)
MCAPI TaskGroup(::WorkerPool &workers, ::Scheduler &context, ::std::string name)
MCAPI ::Bedrock::Threading::Async< void > $queue_DEPRECATED(::TaskStartInfo const &startInfo, ::brstd::move_only_function<::TaskResult()> &&task, ::std::function< void()> &&callback)
MCAPI void $processCoroutines()
MCAPI void * $ctor(::WorkerPool &workers, ::Scheduler &context, ::std::string name)
MCAPI bool $_workerPoolIsAsync() const
Definition TaskResult.h:5
Definition WorkerPool.h:19
Definition WorldPacksHistoryFile.h:10
Definition move_only_function.h:9
Definition AsyncJoinError.h:5
Definition MinecraftServiceKeyInfo.h:5
Definition PackSourceLoadResult.h:5
Definition TaskStartInfo.h:5