#[non_exhaustive]pub enum DispatchOutcome {
Pass(Value),
Blocked(Value),
Skip(Value),
Suspended(ResumeKey),
Cancelled,
Timeout,
}Expand description
Result of a dispatch_attempt_with call (or the conceptual outcome of
a task attempt more broadly).
#[non_exhaustive] (GH #76 Skip tier) so future tier additions (e.g. a
Deferred sibling of Skip) are additive — external crates cannot
exhaustively match on this enum, and must include a _ arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Pass(Value)
The attempt completed with ok = true; carries the result value.
Blocked(Value)
The attempt completed with ok = false, or dispatch itself failed;
carries the result/error value.
Skip(Value)
GH #76 Skip tier: sibling tier of Self::Pass / Self::Blocked. The
worker completed successfully (ok = true) but declared its
output is NOT applicable to the surrounding flow — the enclosing
[crate::blueprint::EngineDispatcher::dispatch] treats this as
flow-continuation (does NOT propagate an error to flow-ir) while
short-circuiting the write to the step’s declared out binding.
Carries the returning agent’s verdict payload for observability
(StepEntry.status = "skipped"); downstream $.<step_id>
references see whatever pre-existing value the binding held
(typically absent). Mirrors spawn_halt’s “ok=true + marker” wire
pattern.
Suspended(ResumeKey)
The task suspended (e.g. via query_senior) before completing;
carries the key needed to resume it.
Cancelled
The task was cancelled before completing.
Timeout
The attempt did not complete within the allotted time.
Trait Implementations§
Source§impl Clone for DispatchOutcome
impl Clone for DispatchOutcome
Source§fn clone(&self) -> DispatchOutcome
fn clone(&self) -> DispatchOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DispatchOutcome
impl Debug for DispatchOutcome
Source§impl<'de> Deserialize<'de> for DispatchOutcome
impl<'de> Deserialize<'de> for DispatchOutcome
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for DispatchOutcome
impl RefUnwindSafe for DispatchOutcome
impl Send for DispatchOutcome
impl Sync for DispatchOutcome
impl Unpin for DispatchOutcome
impl UnsafeUnpin for DispatchOutcome
impl UnwindSafe for DispatchOutcome
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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