Struct async_native_tls::TlsAcceptor [−][src]
pub struct TlsAcceptor(_);
Expand description
A wrapper around a native_tls::TlsAcceptor
, providing an async accept
method.
Example
use async_std::prelude::*;
use async_std::net::TcpListener;
use async_std::fs::File;
use async_native_tls::TlsAcceptor;
let key = File::open("tests/identity.pfx").await?;
let acceptor = TlsAcceptor::new(key, "hello").await?;
let listener = TcpListener::bind("127.0.0.1:8443").await?;
let mut incoming = listener.incoming();
while let Some(stream) = incoming.next().await {
let acceptor = acceptor.clone();
let stream = stream?;
async_std::task::spawn(async move {
let stream = acceptor.accept(stream).await.unwrap();
// handle stream here
});
}
Implementations
Create a new TlsAcceptor based on an identity file and matching password.
Accepts a new client connection with the provided stream.
This function will internally call TlsAcceptor::accept
to connect
the stream and returns a future representing the resolution of the
connection operation. The returned future will resolve to either
TlsStream<S>
or Error
depending if it’s successful or not.
This is typically used after a new socket has been accepted from a
TcpListener
. That socket is then passed to this function to perform
the server half of accepting a client connection.
Trait Implementations
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for TlsAcceptor
impl Send for TlsAcceptor
impl Sync for TlsAcceptor
impl Unpin for TlsAcceptor
impl UnwindSafe for TlsAcceptor
Blanket Implementations
Mutably borrows from an owned value. Read more