[][src]Trait smtpbis::Handler

pub trait Handler {
    type TlsConfig;
    type TlsSession;
    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
;
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
;
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
;
fn helo<'life0, 'async_trait>(
        &'life0 mut self,
        domain: Domain
    ) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn rset<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn mail<'life0, 'async_trait>(
        &'life0 mut self,
        path: ReversePath,
        params: Vec<Param>
    ) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn rcpt<'life0, 'async_trait>(
        &'life0 mut self,
        path: ForwardPath,
        params: Vec<Param>
    ) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn data_start<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
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
;
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
; }

Associated Types

Loading content...

Required methods

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, 

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, 

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, 

fn helo<'life0, 'async_trait>(
    &'life0 mut self,
    domain: Domain
) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

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

fn mail<'life0, 'async_trait>(
    &'life0 mut self,
    path: ReversePath,
    params: Vec<Param>
) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

fn rcpt<'life0, 'async_trait>(
    &'life0 mut self,
    path: ForwardPath,
    params: Vec<Param>
) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

fn data_start<'life0, 'async_trait>(
    &'life0 mut self
) -> Pin<Box<dyn Future<Output = HandlerResult> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

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, 

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, 

Loading content...

Implementors

Loading content...