[][src]Trait tide::listener::Listener

pub trait Listener<State>: Debug + Display + Send + Sync + 'static where
    State: Send + Sync + 'static, 
{ #[must_use] fn bind<'life0, 'async_trait>(
        &'life0 mut self,
        app: Server<State>
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn accept<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn info(&self) -> Vec<ListenInfo>; }

The Listener trait represents an implementation of http transport for a tide application. In order to provide a Listener to tide, you will also need to implement at least one ToListener that outputs your Listener type.

Required methods

#[must_use]fn bind<'life0, 'async_trait>(
    &'life0 mut self,
    app: Server<State>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 

Bind the listener. This starts the listening process by opening the necessary network ports, but not yet accepting incoming connections. This method must be called before accept.

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

Start accepting incoming connections. This method must be called only after bind has succeeded.

fn info(&self) -> Vec<ListenInfo>

Expose information about the connection. This should always return valid data after bind has succeeded.

Loading content...

Implementations on Foreign Types

impl<L, State> Listener<State> for Box<L> where
    L: Listener<State>,
    State: Send + Sync + 'static, 
[src]

Loading content...

Implementors

impl<State> Listener<State> for ConcurrentListener<State> where
    State: Clone + Send + Sync + 'static, 
[src]

impl<State> Listener<State> for FailoverListener<State> where
    State: Clone + Send + Sync + 'static, 
[src]

Loading content...