79 ActiveTask& operator=(ActiveTask
const&);
80 ActiveTask(ActiveTask
const&);
84 struct CompletedInfo {
96 CompletedInfo& operator=(CompletedInfo
const&);
97 CompletedInfo(CompletedInfo
const&);
113 OwnerBucket& operator=(OwnerBucket
const&);
114 OwnerBucket(OwnerBucket
const&);
136 PumpContext& operator=(PumpContext
const&);
137 PumpContext(PumpContext
const&);
141 struct TaskDiagnostics {
153 TaskDiagnostics& operator=(TaskDiagnostics
const&);
154 TaskDiagnostics(TaskDiagnostics
const&);
182 EditorCoroutineService& operator=(EditorCoroutineService
const&);
183 EditorCoroutineService(EditorCoroutineService
const&);
184 EditorCoroutineService();
189 virtual ~EditorCoroutineService() =
default;
191 virtual ::Scripting::Result_deprecated<void> init() ;
193 virtual ::Scripting::Result_deprecated<void> quit() ;
195 virtual ::std::string_view getServiceName() const ;
197 virtual ::Editor::Coroutine::TaskHandle queue(
200 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
202 ::brstd::source_location creationSite
205 virtual ::Editor::Coroutine::TaskHandle queueTask(
208 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
210 ::brstd::source_location creationSite
213 virtual
bool cancel(::Editor::Coroutine::TaskHandle handle) ;
215 virtual
void cancelAll() ;
217 virtual uint64 cancelForOwner(uint64 ownerId) ;
219 virtual uint64 allocateOwnerId() ;
221 virtual
bool updateOwnerMetadata(::Editor::Coroutine::OwnerMetadata metadata) ;
223 virtual
void releaseOwnerId(uint64 ownerId) ;
225 virtual uint64 activeTaskCount() const ;
227 virtual uint64 activeTaskCountForOwner(uint64 ownerId) const ;
229 virtual
bool hasActiveTasks() const ;
231 virtual ::Editor::
CoroutineStatus const* getTaskStatus(::Editor::Coroutine::TaskHandle handle) const ;
233 virtual ::
std::
string const* getTaskName(::Editor::Coroutine::TaskHandle handle) const ;
235 virtual ::
std::vector<::Editor::Coroutine::TaskSnapshot> getTaskSnapshots() const ;
237 virtual uint64 pump(::
std::chrono::microseconds budget) ;
239 virtual ::Editor::Coroutine::TaskHandle _queueTaskFactory(
241 ::Editor::Coroutine::CoroutineTaskOptions options,
242 ::brstd::move_only_function<
243 ::Editor::
Task<
void, ::Editor::
CoroutineStatus>(::Editor::Coroutine::CoroutineTaskContext&)> factory,
244 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
246 ::brstd::source_location creationSite
253 MCNAPI EditorCoroutineService(
256 ::
std::function<::
std::chrono::steady_clock::time_point()> now,
257 ::
std::function<
void(::Editor::Coroutine::TaskSnapshot const&)> possiblyHungSink
262 ::Editor::Coroutine::OwnerMetadata owner,
264 ::
std::unique_ptr<::Editor::Coroutine::CoroutineTaskContext>&& taskContext,
268 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
269 ::brstd::source_location const& creationSite
274 MCNAPI ::Editor::Coroutine::TaskHandle
_queue(
279 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
281 ::brstd::source_location const& creationSite
305 ::
std::function<::
std::chrono::steady_clock::time_point()> now,
306 ::
std::function<
void(::Editor::Coroutine::TaskSnapshot const&)> possiblyHungSink
313 MCNAPI ::Scripting::Result_deprecated<
void>
$init();
315 MCNAPI ::Scripting::Result_deprecated<
void>
$quit();
319 MCNAPI ::Editor::Coroutine::TaskHandle
$queue(
322 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
324 ::brstd::source_location creationSite
330 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
332 ::brstd::source_location creationSite
335 MCNAPI
bool $cancel(::Editor::Coroutine::TaskHandle handle);
355 MCNAPI ::
std::
string const*
$getTaskName(::Editor::Coroutine::TaskHandle handle) const;
359 MCNAPI uint64
$pump(::
std::chrono::microseconds budget);
363 ::Editor::Coroutine::CoroutineTaskOptions options,
364 ::brstd::move_only_function<
365 ::Editor::
Task<
void, ::Editor::
CoroutineStatus>(::Editor::Coroutine::CoroutineTaskContext&)> factory,
366 ::
std::function<
void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete,
368 ::brstd::source_location creationSite
Definition CoroutineTaskContext.h:7
MCAPI::Editor::Coroutine::TaskHandle _enqueue(uint64 id, ::Editor::Coroutine::OwnerMetadata owner, ::std::string name, ::std::unique_ptr<::Editor::Coroutine::CoroutineTaskContext > &&taskContext, ::std::variant< ::Editor::Generator<::Editor::CoroutineStatus >, ::Editor::Task< void, ::Editor::CoroutineStatus > > &&coroutine, ::std::function< void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete, ::brstd::source_location const &creationSite)
MCAPI::Editor::Coroutine::TaskHandle _queue(::std::string name, ::std::variant< ::Editor::Generator<::Editor::CoroutineStatus >, ::Editor::Task< void, ::Editor::CoroutineStatus > > &&coroutine, ::std::function< void(uint64, ::Editor::Coroutine::TaskCompletionStatus)> onComplete, uint64 ownerId, ::brstd::source_location const &creationSite)