载入中...
搜索中...
未找到
eve::procgen::PcgTaskQueue类 参考

Deterministic, callback-free port of PcgTask's delayed task queue. 更多...

#include <PcgTaskQueue.h>

Public 成员函数

Result< std::uint64_t > add (double waitSeconds=0.25)
 Append a task with Pcg's default 0.25-second delay unless overridden.
 
Result< PcgTaskQueueStatus > tick (double deltaSeconds)
 Advance injected time and publish at most one due task.
 
Result< PcgTaskQueueStatus > resolveReady (bool finished)
 Resolve the ready task; finished tasks are removed, unfinished tasks await their next pass.
 
PcgTaskQueueStatus cancelAll () noexcept
 Cancel every queued task and return Idle.
 
std::uint64_t readyTaskId () const noexcept
 Return the ready task ID, or zero when none is ready.
 
int queueSize () const noexcept
 Return the number of queued tasks.
 
PcgTaskQueueStatus status () const noexcept
 Return current queue state.
 

详细描述

Deterministic, callback-free port of PcgTask's delayed task queue.

tick() only publishes a ready task ID. The caller executes work outside the queue and calls resolveReady(). @thread Owning thread only; no pointers or callbacks are retained.

在文件 PcgTaskQueue.h 第 16 行定义.

成员函数说明

◆ add()

Result< std::uint64_t > eve::procgen::PcgTaskQueue::add ( double  waitSeconds = 0.25)

Append a task with Pcg's default 0.25-second delay unless overridden.

在文件 PcgTaskQueue.cpp 第 8 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), id, eve::procgen::Idle, eve::InvalidArgument, eve::Result< T >::success() , 以及 eve::procgen::Waiting.

◆ cancelAll()

PcgTaskQueueStatus eve::procgen::PcgTaskQueue::cancelAll ( )
noexcept

Cancel every queued task and return Idle.

在文件 PcgTaskQueue.cpp 第 36 行定义.

引用了 eve::procgen::Idle.

◆ queueSize()

int eve::procgen::PcgTaskQueue::queueSize ( ) const
inlinenoexcept

Return the number of queued tasks.

在文件 PcgTaskQueue.h 第 29 行定义.

◆ readyTaskId()

std::uint64_t eve::procgen::PcgTaskQueue::readyTaskId ( ) const
inlinenoexcept

Return the ready task ID, or zero when none is ready.

在文件 PcgTaskQueue.h 第 27 行定义.

◆ resolveReady()

Result< PcgTaskQueueStatus > eve::procgen::PcgTaskQueue::resolveReady ( bool  finished)

Resolve the ready task; finished tasks are removed, unfinished tasks await their next pass.

在文件 PcgTaskQueue.cpp 第 26 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Idle, eve::InvalidArgument, eve::procgen::Ready, eve::Result< T >::success() , 以及 eve::procgen::Waiting.

◆ status()

PcgTaskQueueStatus eve::procgen::PcgTaskQueue::status ( ) const
inlinenoexcept

Return current queue state.

在文件 PcgTaskQueue.h 第 31 行定义.

◆ tick()

Result< PcgTaskQueueStatus > eve::procgen::PcgTaskQueue::tick ( double  deltaSeconds)

Advance injected time and publish at most one due task.

在文件 PcgTaskQueue.cpp 第 15 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::procgen::Idle, eve::InvalidArgument, eve::procgen::Ready, eve::Result< T >::success() , 以及 eve::procgen::Waiting.


该类的文档由以下文件生成: