base_endpoint/tls.rs
1// Released under the MIT License.
2// Copyright, 2026, by Samuel Williams.
3
4//! Provider-neutral TLS handshakes, stream I/O and endpoint composition. The optional `rustls` feature supplies a concrete provider in `tls::rustls`. Applications select trust stores and credentials through provider configuration.
5//!
6//! Client connectors authenticate the peer's certificate and requested server identity. Server acceptors apply their configured certificate and client-authentication policy. Providers own TLS configuration, trust roots, credentials, protocol versions and ALPN offers; application code can retain concrete configuration types without erasing them into a shared options map.
7
8mod tls_acceptor;
9mod tls_client_endpoint;
10mod tls_connector;
11mod tls_listener;
12mod tls_server_endpoint;
13mod tls_session;
14mod tls_stream;
15
16pub use tls_acceptor::TlsAcceptor;
17pub use tls_client_endpoint::TlsClientEndpoint;
18pub use tls_connector::TlsConnector;
19pub use tls_listener::TlsListener;
20pub use tls_server_endpoint::TlsServerEndpoint;
21pub use tls_session::TlsSession;
22pub use tls_stream::TlsStream;
23
24#[cfg(feature = "rustls")]
25pub mod rustls;