pub struct StaticExecutor;Expand description
The distinct, allocation-free execution engine for authorized firmware
plans. It consumes the exact McuArenaRequirements and executes over
caller-owned arenas, growing no collection and touching no allocator. This
is the firmware counterpart to the host crate::PlanExecutor; both drive
the same canonical AuthorizedPlan to an identity-stable receipt.
Implementations§
Source§impl StaticExecutor
impl StaticExecutor
Sourcepub fn execute<V, K>(
plan: &AuthorizedPlan,
requirements: &McuArenaRequirements,
invocation_id: [u8; 32],
arenas: &mut StaticArenas<'_, V>,
kernel: &mut K,
) -> Result<StaticReceipt, StaticExecutionError>
pub fn execute<V, K>( plan: &AuthorizedPlan, requirements: &McuArenaRequirements, invocation_id: [u8; 32], arenas: &mut StaticArenas<'_, V>, kernel: &mut K, ) -> Result<StaticReceipt, StaticExecutionError>
Execute plan on McuAot over caller-owned arenas.
valuesholds one live-buffer slot per plan buffer (value_slots).terminalscollects unconnected outputs (terminal_slots).output_scratchis reused per step (max_step_outputs).invocationsupplies one value per invocation port (invocation_slots).
All four are sized by AuthorizedPlan::mcu_arena_requirements. The
method performs no allocation.
Auto Trait Implementations§
impl Freeze for StaticExecutor
impl RefUnwindSafe for StaticExecutor
impl Send for StaticExecutor
impl Sync for StaticExecutor
impl Unpin for StaticExecutor
impl UnsafeUnpin for StaticExecutor
impl UnwindSafe for StaticExecutor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more