34 class TaskGroupState {
44 TaskGroupState& operator=(TaskGroupState
const&);
45 TaskGroupState(TaskGroupState
const&);
49 class ResourceLoadTaskGroup {
63 ResourceLoadTaskGroup& operator=(ResourceLoadTaskGroup
const&);
64 ResourceLoadTaskGroup(ResourceLoadTaskGroup
const&);
65 ResourceLoadTaskGroup();
70 MCNAPI ::Bedrock::Threading::Async<void>
queue(
77 MCNAPI ::Bedrock::Threading::Async<void>
80 MCNAPI ::Bedrock::Threading::Async<void>
89 ::ll::TypedStorage<4, 4, int> mRepeatedHitcountHACK;
90 ::ll::TypedStorage<8, 8, ::Scheduler&> mScheduler;
91 ::ll::TypedStorage<8, 8, ::WorkerPool&> mWorkerPool;
95 ::std::map<::ResourceLoadType, ::std::unique_ptr<::ResourceLoadManager::ResourceLoadTaskGroup>>>
96 mResourceLoadTaskGroups;
97 ::ll::TypedStorage<8, 8, uint64> mAppSuspended;
98 ::ll::TypedStorage<1, 1, bool> mSupportsCancel;
99 ::ll::TypedStorage<8, 32, ::Core::Path const> mLoggingPath;
100 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mDispatchTaskGroup;
105 ResourceLoadManager& operator=(ResourceLoadManager
const&);
106 ResourceLoadManager(ResourceLoadManager
const&);
107 ResourceLoadManager();
112 virtual ~ResourceLoadManager() =
default;
121 MCNAPI
bool areDependenciesLoaded(::ResourceLoadType resourceLoadType)
const;
127 MCNAPI
bool isComplete(::ResourceLoadType resourceLoadType)
const;
129 MCNAPI
void printRunningTasks();
132 MCNAPI ::Bedrock::Threading::Async<void>
queue(
133 ::ResourceLoadType resourceLoadType,
140 MCNAPI ::Bedrock::Threading::Async<void> queueAsync(
141 ::ResourceLoadType resourceLoadType,
148 ::ResourceLoadType resourceLoadType,
155 MCNAPI ::Bedrock::Threading::Async<void> queueSync(
156 ::ResourceLoadType resourceLoadType,
163 ::std::string_view groupName,
165 ::ResourceLoadType resourceLoadType,
166 ::std::vector<::ResourceLoadType> dependencies
170 MCNAPI
void setAppSuspended(
bool suspended);
172 MCNAPI
void sync(::ResourceLoadType resourceLoadType);
MCAPI ::Bedrock::Threading::Async< void > queueFromBackground(::ResourceLoadType resourceLoadType, ::brstd::move_only_function<::TaskResult()> threadedCallback, ::brstd::move_only_function< void()> mainThreadCallback, uint taskPriority)
MCAPI ::Bedrock::Threading::Async< void > queue(::ResourceLoadType resourceLoadType, ::brstd::move_only_function<::TaskResult()> threadedCallback, ::brstd::move_only_function< void()> mainThreadCallback, uint taskPriority)