pub struct EventEnvelope<T> {
pub event_id: Uuid,
pub source: EventSourceIdentity,
pub source_id: String,
pub seq: u64,
pub mob_id: Option<String>,
pub timestamp_ms: u64,
pub payload: T,
}Expand description
Canonical event envelope for stream transport and ordering.
Fields§
§event_id: Uuid§source: EventSourceIdentity§source_id: StringLegacy display/compat projection. Do not parse for source semantics.
seq: u64§mob_id: Option<String>§timestamp_ms: u64§payload: TImplementations§
Source§impl<T> EventEnvelope<T>
impl<T> EventEnvelope<T>
Sourcepub fn new(
source_id: impl Into<String>,
seq: u64,
mob_id: Option<String>,
payload: T,
) -> Self
pub fn new( source_id: impl Into<String>, seq: u64, mob_id: Option<String>, payload: T, ) -> Self
Create a new envelope with a UUIDv7 id and current wall-clock timestamp.
Sourcepub fn new_with_source(
source: EventSourceIdentity,
seq: u64,
mob_id: Option<String>,
payload: T,
) -> Self
pub fn new_with_source( source: EventSourceIdentity, seq: u64, mob_id: Option<String>, payload: T, ) -> Self
Create a new envelope from a typed source identity.
Sourcepub fn new_session(
session_id: SessionId,
seq: u64,
mob_id: Option<String>,
payload: T,
) -> Self
pub fn new_session( session_id: SessionId, seq: u64, mob_id: Option<String>, payload: T, ) -> Self
Create a new session-scoped envelope.
Sourcepub fn source_session_id(&self) -> Option<&SessionId>
pub fn source_session_id(&self) -> Option<&SessionId>
Typed session source, when this event is session-scoped.
Trait Implementations§
Source§impl<T: Clone> Clone for EventEnvelope<T>
impl<T: Clone> Clone for EventEnvelope<T>
Source§fn clone(&self) -> EventEnvelope<T>
fn clone(&self) -> EventEnvelope<T>
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<T: Debug> Debug for EventEnvelope<T>
impl<T: Debug> Debug for EventEnvelope<T>
Source§impl<'de, T> Deserialize<'de> for EventEnvelope<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for EventEnvelope<T>where
T: Deserialize<'de>,
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<T> JsonSchema for EventEnvelope<T>where
T: JsonSchema,
impl<T> JsonSchema for EventEnvelope<T>where
T: JsonSchema,
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<T: PartialEq> PartialEq for EventEnvelope<T>
impl<T: PartialEq> PartialEq for EventEnvelope<T>
Source§fn eq(&self, other: &EventEnvelope<T>) -> bool
fn eq(&self, other: &EventEnvelope<T>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<T> Serialize for EventEnvelope<T>where
T: Serialize,
impl<T> Serialize for EventEnvelope<T>where
T: Serialize,
impl<T: Eq> Eq for EventEnvelope<T>
impl<T> StructuralPartialEq for EventEnvelope<T>
Auto Trait Implementations§
impl<T> Freeze for EventEnvelope<T>where
T: Freeze,
impl<T> RefUnwindSafe for EventEnvelope<T>where
T: RefUnwindSafe,
impl<T> Send for EventEnvelope<T>where
T: Send,
impl<T> Sync for EventEnvelope<T>where
T: Sync,
impl<T> Unpin for EventEnvelope<T>where
T: Unpin,
impl<T> UnsafeUnpin for EventEnvelope<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for EventEnvelope<T>where
T: UnwindSafe,
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
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§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
Compare self to
key and return true if they are equal.