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<Resource>
pub fn serialize(self) -> SerializedMessage<Resource>
Serializes the message and returns it.
source§impl Message
impl Message
sourcepub fn new<T>(data: T) -> Messagewhere
T: SerializeMessage,
pub fn new<T>(data: T) -> Messagewhere
T: SerializeMessage,
Creates a new message wrapping data
, which will be lazily serialized
when needed.
sourcepub fn serialized(s: SerializedMessage<Resource>) -> Message
pub fn serialized(s: SerializedMessage<Resource>) -> Message
Creates a new message from already-serialized data in s
.
sourcepub fn parse<T>(self) -> Result<T, Error>where
T: MeshPayload,
pub fn parse<T>(self) -> Result<T, Error>where
T: MeshPayload,
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>(self) -> Result<T, SerializedMessage<Resource>>where
T: 'static + Send,
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<(), Error>
fn read_message( item: &mut InplaceOption<'_, Message>, reader: MessageReader<'_, '_, Resource>, ) -> Result<(), Error>
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> Downcast<T> for Messagewhere
T: MeshPayload,
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.