Enum BrokerOutcome
pub enum BrokerOutcome {
Resolved(ResolveOutcome),
PendingQuorum {
have: usize,
need: usize,
},
NotAuthorized {
required_group: String,
},
PolicyMissing {
name: String,
},
PolicyUnavailable {
reason: String,
},
NotWaiting,
}Expand description
The outcome of a broker-mediated gate resolution.
Variants§
Resolved(ResolveOutcome)
Quorum (or a single approval) was satisfied and the chokepoint ran.
PendingQuorum
A valid approval was recorded but more distinct approvers are still needed.
NotAuthorized
The principal is not a member of the policy’s required group; the gate is left untouched.
PolicyMissing
The waiting step names an approval policy that is absent from
[sop.approval].policies. FAIL CLOSED: the gate is left untouched rather
than treated as an unpoliced (quorum-1, no-membership) gate, so a typo can
never downgrade a policied step to open approval.
The parked run’s live SOP or current step could not be resolved. Fail closed rather than interpreting unavailable state as intentionally unpoliced.
NotWaiting
The run is not a waiting gate (unknown / already-resolved / not applicable).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BrokerOutcome
impl RefUnwindSafe for BrokerOutcome
impl Send for BrokerOutcome
impl Sync for BrokerOutcome
impl Unpin for BrokerOutcome
impl UnsafeUnpin for BrokerOutcome
impl UnwindSafe for BrokerOutcome
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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