pub struct Message(/* private fields */);
Expand description
A message for sending over a channel.
Implementations§
source§impl Message
impl Message
sourcepub fn serialize(self) -> SerializedMessage
pub fn serialize(self) -> SerializedMessage
Serializes the message and returns it.
source§impl Message
impl Message
sourcepub fn new<T: SerializeMessage>(data: T) -> Self
pub fn new<T: SerializeMessage>(data: T) -> Self
Creates a new message wrapping data
, which will be lazily serialized
when needed.
sourcepub fn serialized(s: SerializedMessage) -> Self
pub fn serialized(s: SerializedMessage) -> Self
Creates a new message from already-serialized data in s
.
sourcepub fn parse<T: MeshPayload>(self) -> Result<T, Error>
pub fn parse<T: MeshPayload>(self) -> Result<T, Error>
Parses the message into a value of type T
.
If the message was constructed with new<T>
, then the round trip
serialization/deserialization is skipped.
pub fn try_parse<T: 'static + Send>(self) -> Result<T, SerializedMessage>
Trait Implementations§
source§impl DefaultEncoding for Message
impl DefaultEncoding for Message
source§type Encoding = MessageEncoding<MessageEncoder>
type Encoding = MessageEncoding<MessageEncoder>
The encoding to use for the serialization. Read more
source§impl MessageDecode<'_, Message, Resource> for MessageEncoder
impl MessageDecode<'_, Message, Resource> for MessageEncoder
source§fn read_message(
item: &mut InplaceOption<'_, Message>,
reader: MessageReader<'_, '_, Resource>,
) -> Result<()>
fn read_message( item: &mut InplaceOption<'_, Message>, reader: MessageReader<'_, '_, Resource>, ) -> Result<()>
Reads a message into
item
.source§impl MessageEncode<Message, Resource> for MessageEncoder
impl MessageEncode<Message, Resource> for MessageEncoder
source§fn write_message(item: Message, writer: MessageWriter<'_, '_, Resource>)
fn write_message(item: Message, writer: MessageWriter<'_, '_, Resource>)
Writes
item
as a message.source§fn compute_message_size(item: &mut Message, sizer: MessageSizer<'_>)
fn compute_message_size(item: &mut Message, sizer: MessageSizer<'_>)
Computes the size of
item
as a message. Read moreimpl<T: MeshPayload> Downcast<T> for Message
Auto Trait Implementations§
impl Freeze for Message
impl !RefUnwindSafe for Message
impl Send for Message
impl !Sync for Message
impl Unpin for Message
impl !UnwindSafe for Message
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> 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> MeshField for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshField for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
source§impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
impl<T> MeshPayload for Twhere
T: DefaultEncoding + Any + Send + 'static,
<T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,
type Encoding = <T as DefaultEncoding>::Encoding
source§impl<T> SerializeMessage for Twhere
T: MeshPayload,
impl<T> SerializeMessage for Twhere
T: MeshPayload,
source§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in
MessageEncode::compute_message_size
.source§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in
MessageEncode::write_message
.source§fn extract(self) -> <T as SerializeMessage>::Concrete
fn extract(self) -> <T as SerializeMessage>::Concrete
Extract the concrete message.