pub mod codec;
pub mod compression;
#[cfg(feature = "ffi-transport")]
pub mod ffi;
pub mod sniff;
pub mod state;
pub mod transport;
pub use codec::MottoCodec;
pub use compression::ZstdCompressor;
pub use state::StateMachine;
pub use transport::WebSocketClient;
#[cfg(feature = "webtransport")]
pub mod webtransport;
#[cfg(feature = "webtransport")]
pub use webtransport::WebTransportClient;
pub struct MottoRuntime {
pub codec: MottoCodec,
pub compressor: ZstdCompressor,
}
impl MottoRuntime {
pub fn new() -> Self {
Self {
codec: MottoCodec::new(),
compressor: ZstdCompressor::new(3),
}
}
pub fn with_compression_level(level: i32) -> Self {
Self {
codec: MottoCodec::new(),
compressor: ZstdCompressor::new(level),
}
}
}
impl Default for MottoRuntime {
fn default() -> Self {
Self::new()
}
}