#[non_exhaustive]pub struct StreamEvent {
pub family: StreamFamily,
pub cursor: StreamCursor,
pub execution_id: Option<ExecutionId>,
pub attempt_index: Option<u32>,
pub timestamp: TimestampMs,
pub payload: Bytes,
}Expand description
Per-event payload.
familyidentifies the event shape.cursoris the position this event occupies in the stream; consumers persist it + hand it back on reconnect so replay begins strictly after this event.execution_id,attempt_index,timestampare inline hot fields (RFC-019 §Open Questions #4, owner-adjudicated inline) so common consumers do not need a follow-updescribe_executionRPC.payloadis the family-specific binary event body. Schema is the backend’s (not stabilised in Stage A — consumers parse via family-specific helpers Stage B will ship).
#[non_exhaustive] so future inline metadata (e.g. namespace)
adds without a breaking change.
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.family: StreamFamily§cursor: StreamCursor§execution_id: Option<ExecutionId>§attempt_index: Option<u32>§timestamp: TimestampMs§payload: BytesImplementations§
Source§impl StreamEvent
impl StreamEvent
Sourcepub fn new(
family: StreamFamily,
cursor: StreamCursor,
timestamp: TimestampMs,
payload: Bytes,
) -> Self
pub fn new( family: StreamFamily, cursor: StreamCursor, timestamp: TimestampMs, payload: Bytes, ) -> Self
Construct a minimal StreamEvent. The struct is
#[non_exhaustive] so external crates cannot build via a
literal — backends go through this constructor + builder.
Optional inline metadata is added via with_execution_id /
with_attempt_index so call-site shape stays stable across
future field additions.
pub fn with_execution_id(self, id: ExecutionId) -> Self
pub fn with_attempt_index(self, idx: u32) -> Self
Trait Implementations§
Source§impl Clone for StreamEvent
impl Clone for StreamEvent
Source§fn clone(&self) -> StreamEvent
fn clone(&self) -> StreamEvent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Freeze for StreamEvent
impl RefUnwindSafe for StreamEvent
impl Send for StreamEvent
impl Sync for StreamEvent
impl Unpin for StreamEvent
impl UnsafeUnpin for StreamEvent
impl UnwindSafe for StreamEvent
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