pub enum KernelInput {
ConfigureOperation(ConfigureOperation),
StartOperation(StartOperation),
ResolveEffect(ResolveEffect),
DeliverExternalEvent(DeliverExternalEvent),
HostControl(HostControl),
}Expand description
The closed five-class input taxonomy (§7.2).
The classes exist for authority and lifecycle, not to shrink an enum: each one enters a
different validation path (KernelInput::authority) and is admissible in a different set of
lifecycle states (KernelInput::admissible_lifecycles). Both tables are exhaustive matches
— the historical _ => catch-all that let any unlisted variant through while Running has no
equivalent here.
P1 syscalls are deliberately not a sixth class: a caller is always derived from a kernel-owned pending effect or a task attempt, never declared by the host (§7.6).
Variants§
ConfigureOperation(ConfigureOperation)
Genesis input. Decoded inside the absolute bootstrap boundary and normalised into a resolved configuration before it becomes the first journal record.
StartOperation(StartOperation)
The single atomic root start: one entry, one initial context.
ResolveEffect(ResolveEffect)
The one entry point for the outcome of a kernel-owned pending effect.
DeliverExternalEvent(DeliverExternalEvent)
A fact the host observed (a signal, a child completion) — not an effect result.
HostControl(HostControl)
The live control plane: cancel, compaction, task/capability/knowledge/policy updates.
Implementations§
Source§impl KernelInput
impl KernelInput
Which validation path this class enters. Distinct per class by construction.
Sourcepub fn admissible_lifecycles(&self) -> &'static [OperationLifecycle]
pub fn admissible_lifecycles(&self) -> &'static [OperationLifecycle]
Lifecycle states in which this class is admissible (§6.1). Terminal states appear in no
list: after a terminal every state-changing input is refused, DeliverSignal included
(DEC-4).
Trait Implementations§
Source§impl Clone for KernelInput
impl Clone for KernelInput
Source§fn clone(&self) -> KernelInput
fn clone(&self) -> KernelInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more