monoio_rustls_fork_shadow_tls/
lib.rs

1#![allow(stable_features)]
2
3mod client;
4mod error;
5mod server;
6mod stream;
7
8pub use client::{
9    TlsConnector, TlsStream as ClientTlsStream, TlsStreamReadHalf as ClientTlsStreamReadHalf,
10    TlsStreamWriteHalf as ClientTlsStreamWriteHalf,
11};
12pub use error::TlsError;
13pub use server::{
14    TlsAcceptor, TlsStream as ServerTlsStream, TlsStreamReadHalf as ServerTlsStreamReadHalf,
15    TlsStreamWriteHalf as ServerTlsStreamWriteHalf,
16};
17
18/// A wrapper around an underlying raw stream which implements the TLS protocol.
19pub type TlsStream<IO> = stream::Stream<IO, rustls_fork_shadow_tls::Connection>;
20
21impl<IO> From<ClientTlsStream<IO>> for TlsStream<IO> {
22    fn from(value: ClientTlsStream<IO>) -> Self {
23        value.map_conn(|c| c.into())
24    }
25}
26
27impl<IO> From<ServerTlsStream<IO>> for TlsStream<IO> {
28    fn from(value: ServerTlsStream<IO>) -> Self {
29        value.map_conn(|c| c.into())
30    }
31}