18class BackgroundTaskBase {
32 ::ll::TypedStorage<8, 8, ::BackgroundTaskBase*> mPrev;
43 ::ll::TypedStorage<1, 1, bool const> mIsAsync;
44 ::ll::TypedStorage<8, 8, ::IBackgroundTaskOwner*> mGroup;
45 ::ll::TypedStorage<8, 8, ::BackgroundTaskBase*> mPrevTask;
46 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BackgroundTaskBase>> mNextTask;
47 ::ll::TypedStorage<4, 4, int> mPriority;
48 ::ll::TypedStorage<4, 4, ::std::thread::id> mAffinity;
49 ::ll::TypedStorage<4, 4, int const> mBackDownPriorityAmount;
50 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mStartAfterTime;
51 ::ll::TypedStorage<8, 32, ::std::string> mTaskName;
52 ::ll::TypedStorage<1, 1, ::Memory::MemoryCategory> mMemoryCategory;
56 [[nodiscard]]
bool isOrphaned()
const {
return mGroup == &gInternalTaskGroup(); }
67 virtual void cancel() = 0;
69 virtual bool isReady()
const = 0;
84 MCAPI static ::BackgroundTaskBase*& gCurrentTask();
90 MCAPI
void* $ctor(::gsl::not_null<::IBackgroundTaskOwner*> group,
::TaskStartInfo const& startInfo,
bool isAsync);
Definition ITaskExecutionContext.h:5