pub struct TlsAcceptor(/* private fields */);
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>
pub async fn new<R, S>(file: R, password: S) -> Result<Self, Error>
Create a new TlsAcceptor based on an identity file and matching password.
Sourcepub async fn accept<S>(&self, stream: S) -> Result<TlsStream<S>, Error>
pub async fn accept<S>(&self, stream: S) -> Result<TlsStream<S>, Error>
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.
Auto Trait Implementations§
impl Freeze for TlsAcceptor
impl RefUnwindSafe for TlsAcceptor
impl Send for TlsAcceptor
impl Sync for TlsAcceptor
impl Unpin for TlsAcceptor
impl UnwindSafe for TlsAcceptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more