Owner-thread lifecycle router for timeline notifies and active blocks. 更多...
#include <ActionBlockRuntime.h>
Public 成员函数 | |
| ActionBlockRuntime (ActionNotifyRegistry ®istry) noexcept | |
| Bind the canonical registry used for all synchronous callbacks. | |
| ActionBlockRuntime (const ActionBlockRuntime &)=delete | |
| ActionBlockRuntime & | operator= (const ActionBlockRuntime &)=delete |
| Result< void > | apply (const ActionAdvance &advance, ActionNotifyContext context) |
| Deliver boundaries and active updates from one authoritative advance. | |
| Result< void > | interrupt (ActionNotifyContext context) |
| Emit paired exits for all blocks retained for one interrupted execution. | |
| Result< void > | sample (const std::vector< ActionActiveBlock > &blocks, ActionNotifyContext context) const |
| Evaluate active blocks for editor scrubbing without retaining lifecycle state. | |
| std::size_t | executionCount () const noexcept |
| Number of execution projections retained for interruption cleanup. | |
详细描述
Owner-thread lifecycle router for timeline notifies and active blocks.
ActionRuntime remains the timeline authority. This adapter retains only the last owning block projection per execution so interruption can emit paired exits. The borrowed registry must outlive this object. Handler callbacks are synchronous, run without locks, and may reenter unrelated systems but must not reenter this instance.
在文件 ActionBlockRuntime.h 第 23 行定义.
构造及析构函数说明
◆ ActionBlockRuntime() [1/2]
|
inlineexplicitnoexcept |
Bind the canonical registry used for all synchronous callbacks.
- 参数
-
registry Borrowed owner-thread registry.
在文件 ActionBlockRuntime.h 第 29 行定义.
◆ ActionBlockRuntime() [2/2]
|
delete |
成员函数说明
◆ apply()
| Result< void > eve::action::ActionBlockRuntime::apply | ( | const ActionAdvance & | advance, |
| ActionNotifyContext | context | ||
| ) |
Deliver boundaries and active updates from one authoritative advance.
- 参数
-
advance Owning result produced by ActionRuntime. context Owning execution/target context; its id must match advance.
- 返回
- Applied after all handlers succeed, otherwise the first handler failure.
在文件 ActionBlockRuntime.cpp 第 10 行定义.
引用了 eve::action::ActionAdvance::activeBlocks, eve::action::ActionNotifyRegistry::advanceHandlers(), eve::Applied, context, eve::action::ActionNotifyRegistry::dispatch(), eve::action::ActionNotifyRegistry::dispatchUpdate(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::action::ActionAdvance::id, eve::InvalidArgument, eve::Status::success(), eve::Result< T >::success(), eve::action::ActionAdvance::timelineEvents, eve::action::ActionAdvance::totalElapsed , 以及 updated.
◆ executionCount()
|
inlinenoexcept |
Number of execution projections retained for interruption cleanup.
在文件 ActionBlockRuntime.h 第 58 行定义.
◆ interrupt()
| Result< void > eve::action::ActionBlockRuntime::interrupt | ( | ActionNotifyContext | context | ) |
Emit paired exits for all blocks retained for one interrupted execution.
- 参数
-
context Owning context identifying the execution to interrupt.
- 返回
- Applied/NoOp or the first exit failure; successfully exited blocks are removed.
在文件 ActionBlockRuntime.cpp 第 31 行定义.
引用了 eve::Applied, context, eve::action::ActionNotifyRegistry::dispatch(), found, eve::NoOp, eve::action::StateExit, eve::Status::success(), eve::Result< T >::success() , 以及 eve::action::ActionTimelineEvent::trackId.
◆ operator=()
|
delete |
◆ sample()
| Result< void > eve::action::ActionBlockRuntime::sample | ( | const std::vector< ActionActiveBlock > & | blocks, |
| ActionNotifyContext | context | ||
| ) | const |
Evaluate active blocks for editor scrubbing without retaining lifecycle state.
- 参数
-
blocks Owning block samples from ActionTimeline::activeBlocks. context Preview context; preview and scrubbing are forced true.
在文件 ActionBlockRuntime.cpp 第 48 行定义.
引用了 eve::Applied, context, eve::action::ActionNotifyRegistry::dispatchSample(), eve::NoOp, eve::Status::success() , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/action/ActionBlockRuntime.h
- src/modules/action/ActionBlockRuntime.cpp