pub struct MessageSchema {
pub name: String,
pub version: u32,
pub description: String,
pub fields: Vec<SchemaField>,
pub metadata: HashMap<String, String>,
pub registered_at: u64,
}Expand description
Message schema definition
Fields§
§name: StringSchema name (typically the message type name)
version: u32Schema version (incremental)
description: StringHuman-readable description
fields: Vec<SchemaField>Schema fields definition
metadata: HashMap<String, String>Additional metadata
registered_at: u64When this schema was registered (Unix timestamp)
Implementations§
Source§impl MessageSchema
impl MessageSchema
Sourcepub fn with_description(self, description: impl Into<String>) -> Self
pub fn with_description(self, description: impl Into<String>) -> Self
Set description
Sourcepub fn with_field(
self,
name: impl Into<String>,
field_type: impl Into<String>,
required: bool,
) -> Self
pub fn with_field( self, name: impl Into<String>, field_type: impl Into<String>, required: bool, ) -> Self
Add a field
Trait Implementations§
Source§impl Clone for MessageSchema
impl Clone for MessageSchema
Source§fn clone(&self) -> MessageSchema
fn clone(&self) -> MessageSchema
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 moreSource§impl Debug for MessageSchema
impl Debug for MessageSchema
Source§impl<'de> Deserialize<'de> for MessageSchema
impl<'de> Deserialize<'de> for MessageSchema
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
Auto Trait Implementations§
impl Freeze for MessageSchema
impl RefUnwindSafe for MessageSchema
impl Send for MessageSchema
impl Sync for MessageSchema
impl Unpin for MessageSchema
impl UnwindSafe for MessageSchema
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<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>
Converts
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>
Converts
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