[][src]Trait smtpbis::Handler

pub trait Handler: Send where
    Self::TlsSession: Sync
{ type TlsConfig; type TlsSession; #[must_use] pub fn ehlo<'life0, 'async_trait>(
        &'life0 mut self,
        domain: DomainPart,
        initial_keywords: EhloKeywords
    ) -> Pin<Box<dyn Future<Output = Result<(String, EhloKeywords), Reply>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] pub fn helo<'life0, 'async_trait>(
        &'life0 mut self,
        domain: Domain
    ) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] pub fn rset<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] pub fn mail<'life0, 'async_trait>(
        &'life0 mut self,
        path: ReversePath,
        params: Vec<Param>
    ) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] pub fn rcpt<'life0, 'async_trait>(
        &'life0 mut self,
        path: ForwardPath,
        params: Vec<Param>
    ) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] pub fn data<'life0, 'life1, 'async_trait, S>(
        &'life0 mut self,
        stream: &'life1 mut S
    ) -> Pin<Box<dyn Future<Output = Result<Option<Reply>, ServerError>> + Send + 'async_trait>>
    where
        S: Stream<Item = Result<BytesMut, LineError>> + Unpin + Send,
        S: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] pub fn bdat<'life0, 'life1, 'async_trait, S>(
        &'life0 mut self,
        stream: &'life1 mut S,
        size: u64,
        last: bool
    ) -> Pin<Box<dyn Future<Output = Result<Option<Reply>, ServerError>> + Send + 'async_trait>>
    where
        S: Stream<Item = Result<BytesMut, LineError>> + Unpin + Send,
        S: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; #[must_use] pub fn tls_request<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Option<Self::TlsConfig>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] pub fn tls_started<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        _session: &'life1 Self::TlsSession
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] pub fn data_start<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... }
#[must_use] pub fn unhandled_command<'life0, 'async_trait>(
        &'life0 mut self,
        _command: Command
    ) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
, { ... } }

Associated Types

Loading content...

Required methods

#[must_use]pub fn ehlo<'life0, 'async_trait>(
    &'life0 mut self,
    domain: DomainPart,
    initial_keywords: EhloKeywords
) -> Pin<Box<dyn Future<Output = Result<(String, EhloKeywords), Reply>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn helo<'life0, 'async_trait>(
    &'life0 mut self,
    domain: Domain
) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn rset<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn mail<'life0, 'async_trait>(
    &'life0 mut self,
    path: ReversePath,
    params: Vec<Param>
) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn rcpt<'life0, 'async_trait>(
    &'life0 mut self,
    path: ForwardPath,
    params: Vec<Param>
) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn data<'life0, 'life1, 'async_trait, S>(
    &'life0 mut self,
    stream: &'life1 mut S
) -> Pin<Box<dyn Future<Output = Result<Option<Reply>, ServerError>> + Send + 'async_trait>> where
    S: Stream<Item = Result<BytesMut, LineError>> + Unpin + Send,
    S: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn bdat<'life0, 'life1, 'async_trait, S>(
    &'life0 mut self,
    stream: &'life1 mut S,
    size: u64,
    last: bool
) -> Pin<Box<dyn Future<Output = Result<Option<Reply>, ServerError>> + Send + 'async_trait>> where
    S: Stream<Item = Result<BytesMut, LineError>> + Unpin + Send,
    S: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 
[src]

Loading content...

Provided methods

#[must_use]pub fn tls_request<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Option<Self::TlsConfig>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn tls_started<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    _session: &'life1 Self::TlsSession
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn data_start<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

#[must_use]pub fn unhandled_command<'life0, 'async_trait>(
    &'life0 mut self,
    _command: Command
) -> Pin<Box<dyn Future<Output = Option<Reply>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

Loading content...

Implementors

Loading content...