#[non_exhaustive]pub enum StreamRuntimeOutcome {
Committed,
Failed,
Stopped,
Unknown,
ResourceBoundary,
}Expand description
The coarse, non-sensitive runtime outcome an ItemStream observes at
close.
Deliberately excludes the full crate::ChunkExecutionReport: a stream’s
close must react to whether the step committed, failed, stopped, or
reached an unknown outcome, never to internal report machinery or other
components’ data.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Committed
The step attempt’s work committed durably.
Failed
The step attempt ended in a known, typed failure.
Stopped
Cooperative stop ended the step attempt.
Unknown
The step attempt’s commit outcome is unknown.
ResourceBoundary
A nested resource this stream owns reached its own logical boundary (a delegate reader exhausted, or a delegate writer rolled over) while the enclosing step attempt’s terminal outcome is not yet known.
Only ever reported by a component that nests other ItemStreams
and must close a retiring delegate ahead of its own outer close –
for example
crate::item_components::multi_resource::MultiResourceReader/
crate::item_components::multi_resource::MultiResourceWriter
closing the resource they are transitioning away from. The
top-level chunk runtime itself never reports this variant: it is
strictly weaker than Self::Committed (the retiring resource’s
own prior work may already be durable, but the step attempt that
observed its boundary has not yet reached a terminal outcome), so a
delegate must not treat it as proof of a durable commit.
Trait Implementations§
Source§impl Clone for StreamRuntimeOutcome
impl Clone for StreamRuntimeOutcome
impl Copy for StreamRuntimeOutcome
Source§impl Debug for StreamRuntimeOutcome
impl Debug for StreamRuntimeOutcome
impl Eq for StreamRuntimeOutcome
Source§impl PartialEq for StreamRuntimeOutcome
impl PartialEq for StreamRuntimeOutcome
impl StructuralPartialEq for StreamRuntimeOutcome
Auto Trait Implementations§
impl Freeze for StreamRuntimeOutcome
impl RefUnwindSafe for StreamRuntimeOutcome
impl Send for StreamRuntimeOutcome
impl Sync for StreamRuntimeOutcome
impl Unpin for StreamRuntimeOutcome
impl UnsafeUnpin for StreamRuntimeOutcome
impl UnwindSafe for StreamRuntimeOutcome
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
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