pub mod protocol;
use std::sync::Once;
pub use async_trait::async_trait;
pub use protocol::*;
#[cfg(feature = "client")]
pub mod client;
#[cfg(feature = "client")]
pub use client::*;
#[cfg(feature = "python")]
mod python;
#[cfg(feature = "python")]
pub use python::*;
use rustls::crypto::{self, CryptoProvider};
static INIT_RUSTLS: Once = Once::new();
pub fn ensure_rustls_provider() {
INIT_RUSTLS.call_once(|| {
if CryptoProvider::get_default().is_none() {
let _ = crypto::ring::default_provider().install_default();
}
});
}