Struct TlsAcceptor
pub struct TlsAcceptor { /* private fields */ }rustls only.Expand description
A wrapper around a rustls::ServerConfig, providing an async accept method.
Implementations§
§impl TlsAcceptor
impl TlsAcceptor
pub fn accept<IO>(&self, stream: IO) -> Accept<IO> ⓘwhere
IO: AsyncRead + AsyncWrite + Unpin,
pub fn accept<IO>(&self, stream: IO) -> Accept<IO> ⓘwhere
IO: AsyncRead + AsyncWrite + Unpin,
Returns a future for completing a TLS handshake for a client using stream.
You likely want to wrap this in a timeout (for example with tokio::time::timeout)
to bound the handshake time.
pub fn accept_with<IO, F>(&self, stream: IO, f: F) -> Accept<IO> ⓘ
pub fn accept_with<IO, F>(&self, stream: IO, f: F) -> Accept<IO> ⓘ
Similar to Self::accept(), but calls f before performing the handshake.
As with Self::accept() you likely want to wrap this in a timeout to
bound the handshake time.
The f handler is given a mutable reference to a ServerConnection that can be used
to configure the connection before the handshake, for example, adjusting the buffer limit.
Because no data has been read from stream yet when f is called ClientHello
dependent state (like early data) is not yet available.
pub fn config(&self) -> &Arc<ServerConfig> ⓘ
pub fn config(&self) -> &Arc<ServerConfig> ⓘ
Get a read-only reference to underlying config
Trait Implementations§
§impl Clone for TlsAcceptor
impl Clone for TlsAcceptor
§fn clone(&self) -> TlsAcceptor
fn clone(&self) -> TlsAcceptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl From<Arc<ServerConfig>> for TlsAcceptor
impl From<Arc<ServerConfig>> for TlsAcceptor
§fn from(inner: Arc<ServerConfig>) -> TlsAcceptor
fn from(inner: Arc<ServerConfig>) -> TlsAcceptor
Auto Trait Implementations§
impl !RefUnwindSafe for TlsAcceptor
impl !UnwindSafe for TlsAcceptor
impl Freeze for TlsAcceptor
impl Send for TlsAcceptor
impl Sync for TlsAcceptor
impl Unpin for TlsAcceptor
impl UnsafeUnpin for TlsAcceptor
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more