pub struct RuntimeSwitchPlan { /* private fields */ }Expand description
Move-only runtime transaction for one committed scheduler switch.
ax-task constructs this value only after the scheduler has committed two
distinct live endpoints and released its internal locks. The execution
contexts and logical address spaces travel through one runtime call, so a
provider cannot activate an mm and then fail before preparing the matching
architecture context. Consuming the transaction prevents replay.
Implementations§
Source§impl RuntimeSwitchPlan
impl RuntimeSwitchPlan
Sourcepub const fn previous_context(&self) -> ExecutionContextHandle
pub const fn previous_context(&self) -> ExecutionContextHandle
Returns the outgoing runtime context.
Sourcepub const fn previous_address_space(&self) -> AddressSpaceHandle
pub const fn previous_address_space(&self) -> AddressSpaceHandle
Returns the outgoing logical address space, canonicalized to the
incoming live token when both endpoints select the same mm.
Sourcepub const fn next_context(&self) -> ExecutionContextHandle
pub const fn next_context(&self) -> ExecutionContextHandle
Returns the incoming runtime context.
Sourcepub const fn next_address_space(&self) -> AddressSpaceHandle
pub const fn next_address_space(&self) -> AddressSpaceHandle
Returns the incoming scheduler-selected logical address space.
Sourcepub const fn same_address_space(&self) -> bool
pub const fn same_address_space(&self) -> bool
Returns whether both scheduler endpoints select the same logical mm.