async-tls-acceptor 0.1.0

a trait for tls acceptors
Documentation

async-tls-acceptor

This crate provides a common interface for server-side tls acceptors, abstracting over various implementations.

The only implementation provided by this crate is (), which is a noop acceptor, and passes through the Input type.

Implementing this trait looks like:

use async_tls_acceptor::{async_trait, Acceptor, AsyncRead, AsyncWrite};

#[async_trait]
impl<Input> Acceptor<Input> for my_tls_impl::Acceptor
where
    Input: AsyncRead + AsyncWrite + Send + Sync + Unpin + 'static,
{
    type Output = my_tls_impl::TlsStream<Input>;
    type Error = my_tls_impl::Error;
    async fn accept(&self, input: Input) -> Result<Self::Output, Self::Error> {
        self.accept(input).await
    }
}

Safety

This crate uses #![deny(unsafe_code)].

License