#![deny(
clippy::all,
clippy::pedantic,
clippy::nursery,
missing_docs,
dead_code
)]
#![doc = include_str!("../README.md")]
use const_fnv1a_hash::fnv1a_hash_str_32;
use serde::{Serialize, de::DeserializeOwned};
pub trait Request: Serialize + DeserializeOwned + Send + Sync + 'static {
const ROUTE_ID: &'static str;
type Response: Serialize + DeserializeOwned + Send;
#[must_use]
fn type_id() -> u32 {
fnv1a_hash_str_32(Self::ROUTE_ID)
}
}
#[cfg(feature = "client")]
pub mod client;
#[cfg(feature = "client")]
pub use client::{ConnectionDetails, send};
#[cfg(feature = "server")]
pub mod server;
#[cfg(feature = "server")]
pub use server::Router;
#[cfg(any(feature = "nsm", feature = "nsm-types"))]
pub mod nsm;
#[cfg(feature = "nsm")]
pub use nsm::SecureModule;
#[cfg(feature = "nsm-types")]
pub use nsm::{AttestationDoc, AttestationError};
#[cfg(feature = "kms")]
pub mod kms;
#[cfg(feature = "http")]
pub mod http;
mod utils;