pub trait MessageInfoExt: Sized {
// Required methods
fn send<T: MessageSend>(val: T) -> Result<Self, T::Error>;
fn recv<T: MessageRecv>(self) -> Result<T, MessageRecvErrorFor<T>>;
// Provided methods
fn send_unspecified_error() -> Self { ... }
fn send_empty() -> Self { ... }
fn recv_empty(self) -> Result<(), MessageRecvErrorFor<EmptyMessage>> { ... }
fn send_with_trivial_label<T: MessageValueSend>(
val: T,
) -> Result<Self, T::Error> { ... }
fn recv_with_trivial_label<T: MessageValueRecv>(
self,
) -> Result<T, MessageRecvErrorFor<TriviallyLabeled<T>>> { ... }
fn send_using_postcard<T: Serialize>(
val: T,
) -> Result<Self, <MessageValueUsingPostcard<T> as MessageValueSend>::Error> { ... }
fn recv_using_postcard<T: for<'a> Deserialize<'a>>(
self,
) -> Result<T, MessageRecvErrorFor<TriviallyLabeled<MessageValueUsingPostcard<T>>>> { ... }
}
Required Methods§
fn send<T: MessageSend>(val: T) -> Result<Self, T::Error>
fn recv<T: MessageRecv>(self) -> Result<T, MessageRecvErrorFor<T>>
Provided Methods§
fn send_unspecified_error() -> Self
fn send_empty() -> Self
fn recv_empty(self) -> Result<(), MessageRecvErrorFor<EmptyMessage>>
fn send_with_trivial_label<T: MessageValueSend>( val: T, ) -> Result<Self, T::Error>
fn recv_with_trivial_label<T: MessageValueRecv>( self, ) -> Result<T, MessageRecvErrorFor<TriviallyLabeled<T>>>
fn send_using_postcard<T: Serialize>( val: T, ) -> Result<Self, <MessageValueUsingPostcard<T> as MessageValueSend>::Error>
fn recv_using_postcard<T: for<'a> Deserialize<'a>>( self, ) -> Result<T, MessageRecvErrorFor<TriviallyLabeled<MessageValueUsingPostcard<T>>>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.