pub enum Verdict {
Allow,
Deny,
PendingApproval,
}Expand description
Verdict of a guard or capability evaluation.
This is the kernel’s own verdict type, distinct from chio_core::receipt::decision::Decision.
The kernel uses this internally; it maps to chio_core::receipt::decision::Decision when
building receipts.
The PendingApproval variant is a marker: the payload (ApprovalRequest)
is returned separately via crate::approval::HitlVerdict so existing
call sites that pattern-match on Verdict and rely on its Copy semantics
keep compiling without change. The public contract is: Allow, Deny, and
PendingApproval are the three possible outcomes of guard evaluation, and
callers receive the full approval request via the richer HITL API surface
when they need it.
Variants§
Allow
The action is allowed.
Deny
The action is denied.
PendingApproval
The action is suspended pending a human decision. Look up the
associated ApprovalRequest via the HITL API.
Trait Implementations§
impl Copy for Verdict
impl Eq for Verdict
Source§impl PartialEq<GuardDecision> for Verdict
impl PartialEq<GuardDecision> for Verdict
Source§impl PartialEq<Verdict> for GuardDecision
impl PartialEq<Verdict> for GuardDecision
impl StructuralPartialEq for Verdict
Auto Trait Implementations§
impl Freeze for Verdict
impl RefUnwindSafe for Verdict
impl Send for Verdict
impl Sync for Verdict
impl Unpin for Verdict
impl UnsafeUnpin for Verdict
impl UnwindSafe for Verdict
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more