pub trait MessageTransfer:
DeserializeOwned
+ Clone
+ Into<Message>
+ Send
+ Sync
+ Error
+ Debug
+ Display {
type Error: Into<Self> + Clone + Error;
type TransferError: Error;
type Info: MessageInformation;
// Required methods
fn info(&self) -> Self::Info;
fn error(&self) -> Option<Self::Error>;
fn to_error(&self) -> Self::TransferError;
fn user_request(&self) -> Option<UserRequest<Self>>;
fn new_user(request: UserRequest<Self>) -> Self;
fn error_info(&self) -> Option<Vec<Self::Info>>;
}
Required Associated Types§
type Error: Into<Self> + Clone + Error
type TransferError: Error
type Info: MessageInformation
Required Methods§
fn info(&self) -> Self::Info
fn error(&self) -> Option<Self::Error>
fn to_error(&self) -> Self::TransferError
fn user_request(&self) -> Option<UserRequest<Self>>
fn new_user(request: UserRequest<Self>) -> Self
fn error_info(&self) -> Option<Vec<Self::Info>>
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.