pub trait Transport: Debug {
type DataStream: MailDataStream;
type Error;
fn send_stream<'s, 'a>(
&'s self,
envelope: Envelope
) -> Pin<Box<dyn Future<Output = Result<Self::DataStream, Self::Error>> + Sync + Send + 'a, Global>>ⓘ
where
's: 'a;
fn send<'s, 'r, 'a, R>(
&'s self,
envelope: Envelope,
message: R
) -> Pin<Box<dyn Future<Output = Result<Self::DataStream, Self::Error>> + Sync + Send + 'a, Global>>ⓘ
where
's: 'a,
'r: 'a,
R: 'r + AsyncRead + Unpin + Send + Sync,
Self::DataStream: Unpin,
Self::DataStream: Send,
Self::DataStream: Sync,
Self::Error: From<Error>,
{ ... }
}
Expand description
Transport method for emails
Associated Types
Result type for the transport
Required methods
Provided methods
fn send<'s, 'r, 'a, R>(
&'s self,
envelope: Envelope,
message: R
) -> Pin<Box<dyn Future<Output = Result<Self::DataStream, Self::Error>> + Sync + Send + 'a, Global>>ⓘ where
's: 'a,
'r: 'a,
R: 'r + AsyncRead + Unpin + Send + Sync,
Self::DataStream: Unpin,
Self::DataStream: Send,
Self::DataStream: Sync,
Self::Error: From<Error>,
fn send<'s, 'r, 'a, R>(
&'s self,
envelope: Envelope,
message: R
) -> Pin<Box<dyn Future<Output = Result<Self::DataStream, Self::Error>> + Sync + Send + 'a, Global>>ⓘ where
's: 'a,
'r: 'a,
R: 'r + AsyncRead + Unpin + Send + Sync,
Self::DataStream: Unpin,
Self::DataStream: Send,
Self::DataStream: Sync,
Self::Error: From<Error>,
Send the email