Skip to main content

CompletionPayload

Struct CompletionPayload 

Source
#[non_exhaustive]
pub struct CompletionPayload { pub execution_id: ExecutionId, pub outcome: String, pub payload_bytes: Option<Vec<u8>>, pub produced_at_ms: TimestampMs, pub flow_id: Option<FlowId>, }
Expand description

One completion event delivered through the CompletionStream (RFC-012 §4.3). Also the payload type for issue #90’s subscription API. Stage 0 authorises the type; issue #90 fixes the wire shape.

flow_id was added in issue #90 so DAG-dependency routing (dispatch_dependency_resolution) has the partition-routable flow handle without reparsing the Lua-emitted JSON downstream. #[non_exhaustive] keeps future field additions additive; use CompletionPayload::new and CompletionPayload::with_flow_id for construction.

payload_bytes / produced_at_ms are authorised but not yet populated by the Valkey Lua emitters — consumers on the CompletionStream read execution_id + flow_id today and must tolerate payload_bytes = None / produced_at_ms = 0.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§execution_id: ExecutionId§outcome: String§payload_bytes: Option<Vec<u8>>§produced_at_ms: TimestampMs§flow_id: Option<FlowId>

Flow handle for partition routing. Added in issue #90 (#90); None for emitters that don’t yet surface it.

Implementations§

Source§

impl CompletionPayload

Source

pub fn new( execution_id: ExecutionId, outcome: impl Into<String>, payload_bytes: Option<Vec<u8>>, produced_at_ms: TimestampMs, ) -> Self

Source

pub fn with_flow_id(self, flow_id: FlowId) -> Self

Attach a flow handle to the payload. Additive builder so adding flow_id didn’t require a breaking change to Self::new.

Trait Implementations§

Source§

impl Clone for CompletionPayload

Source§

fn clone(&self) -> CompletionPayload

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CompletionPayload

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for CompletionPayload

Source§

fn eq(&self, other: &CompletionPayload) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CompletionPayload

Source§

impl StructuralPartialEq for CompletionPayload

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.