pub mod api;

pub mod model;
pub use self::api::APIInterface;

#[cfg(test)]
pub mod tests;

// Ensure a process-level rustls CryptoProvider is installed for TLS (wss).
// Rustls 0.23 requires an explicit provider installation (e.g., ring or aws-lc).
// We depend on rustls with feature "ring" and install it once at startup.
#[ctor::ctor]
fn install_rustls_crypto_provider() {
    // If already installed, this is a no-op. Ignore the result.
    #[allow(unused_must_use)]
    {
        use rustls::crypto::ring;
        ring::default_provider().install_default();
    }
}
