pub enum RunOutcome {
Success,
Interrupt {
interrupts: Vec<Interrupt>,
},
}Expand description
How a run ended.
The field is optional on RUN_FINISHED: producers that predate the
interrupt protocol omit it entirely, which consumers must read as success.
Variants§
Success
The run completed.
Interrupt
The run is paused, waiting on the answers to interrupts.
Fields
§
interrupts: Vec<Interrupt>The pending requests. The protocol requires at least one; see
RunOutcome::validate.
Implementations§
Source§impl RunOutcome
impl RunOutcome
Sourcepub const fn is_interrupt(&self) -> bool
pub const fn is_interrupt(&self) -> bool
Whether the run is paused rather than finished.
Sourcepub fn interrupts(&self) -> &[Interrupt]
pub fn interrupts(&self) -> &[Interrupt]
The pending interrupts, or an empty slice for a success outcome.
Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Checks the one rule the type system cannot: an interrupt outcome must
carry at least one interrupt.
Deserializing does not enforce this, so that a stray empty array from a buggy producer surfaces as a protocol error you can log rather than as an unparseable event that kills the stream.
Trait Implementations§
Source§impl Clone for RunOutcome
impl Clone for RunOutcome
Source§fn clone(&self) -> RunOutcome
fn clone(&self) -> RunOutcome
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 ComposeSchema for RunOutcome
impl ComposeSchema for RunOutcome
Source§impl Debug for RunOutcome
impl Debug for RunOutcome
Source§impl<'de> Deserialize<'de> for RunOutcome
impl<'de> Deserialize<'de> for RunOutcome
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for RunOutcome
impl JsonSchema for RunOutcome
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for RunOutcome
impl PartialEq for RunOutcome
Source§fn eq(&self, other: &RunOutcome) -> bool
fn eq(&self, other: &RunOutcome) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for RunOutcome
impl Serialize for RunOutcome
impl StructuralPartialEq for RunOutcome
Auto Trait Implementations§
impl Freeze for RunOutcome
impl RefUnwindSafe for RunOutcome
impl Send for RunOutcome
impl Sync for RunOutcome
impl Unpin for RunOutcome
impl UnsafeUnpin for RunOutcome
impl UnwindSafe for RunOutcome
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