Struct async_native_tls::TlsAcceptor
source · 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§
source§impl TlsAcceptor
impl TlsAcceptor
sourcepub async fn new<R, S>(file: R, password: S) -> Result<Self, Error>where
R: AsyncRead + Unpin,
S: AsRef<str>,
pub async fn new<R, S>(file: R, password: S) -> Result<Self, Error>where R: AsyncRead + Unpin, S: AsRef<str>,
Create a new TlsAcceptor based on an identity file and matching password.
sourcepub async fn accept<S>(&self, stream: S) -> Result<TlsStream<S>, Error>where
S: AsyncRead + AsyncWrite + Unpin,
pub async fn accept<S>(&self, stream: S) -> Result<TlsStream<S>, Error>where S: AsyncRead + AsyncWrite + Unpin,
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§
source§impl Clone for TlsAcceptor
impl Clone for TlsAcceptor
source§fn clone(&self) -> TlsAcceptor
fn clone(&self) -> TlsAcceptor
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for TlsAcceptor
impl Debug for TlsAcceptor
source§impl From<TlsAcceptor> for TlsAcceptor
impl From<TlsAcceptor> for TlsAcceptor
source§fn from(inner: TlsAcceptor) -> TlsAcceptor
fn from(inner: TlsAcceptor) -> TlsAcceptor
Converts to this type from the input type.