pub enum Disposition {
Allow,
Deny {
stage: &'static str,
reason: String,
},
Gate {
wait: WaitReason,
reason: String,
},
Defer {
slot: u32,
},
RateLimited {
retry_after_ms: u64,
},
}Expand description
The kernel’s adjudication of a Syscall. Generalizes GovernanceVerdict:
AskUser becomes Disposition::Gate (suspend the calling task via the P2 TCB),
which is where this primitive meets P2.
Variants§
Allow
Proceed as requested.
Deny
Reject. stage names the gate stage that vetoed.
Gate
Suspend the calling task until an external party resolves it (e.g. human approval).
reason carries the human-readable justification (e.g. the governance AskUser reason).
Defer
Accept but queue for later scheduling (backpressure).
RateLimited
Rejected by a rate limiter; retry permitted after the delay.
Implementations§
Source§impl Disposition
impl Disposition
Trait Implementations§
Source§impl Clone for Disposition
impl Clone for Disposition
Source§fn clone(&self) -> Disposition
fn clone(&self) -> Disposition
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Disposition
impl Debug for Disposition
Source§impl From<GovernanceVerdict> for Disposition
Bridge from the existing tool-decision vocabulary. AskUser → Gate(Approval): a tool
awaiting human approval suspends the task, which M2+M1 realize via the TCB.
impl From<GovernanceVerdict> for Disposition
Bridge from the existing tool-decision vocabulary. AskUser → Gate(Approval): a tool
awaiting human approval suspends the task, which M2+M1 realize via the TCB.
Source§fn from(verdict: GovernanceVerdict) -> Self
fn from(verdict: GovernanceVerdict) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Disposition
impl RefUnwindSafe for Disposition
impl Send for Disposition
impl Sync for Disposition
impl Unpin for Disposition
impl UnsafeUnpin for Disposition
impl UnwindSafe for Disposition
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