selium_std/
lib.rs

1//! A library containing standard offerings for Selium features, such as client codecs,
2//! compression, and more.
3//!
4//! Selium Standard contains a rich selection of premade client codecs, compression
5//! implementations, etc, which have been created by the `Selium Labs` team to make the
6//! development experience as effortless as possible while using Selium.
7//!
8//! # Feature flags
9//!
10//! Do you only require a subset of features offered by Selium Standard? No worries! All offerings are
11//! intended to be entirely optional, and can be included via the respective feature flag. This
12//! in-turn will ensure that your binary is kept as slim as possible.
13//!
14//! For example, if a developer would like to use one of the many compression implementations offered by the
15//! library, but uses their own proprietary codecs in-house, they can simply compile `selium-std` with the
16//! `compression` feature flag, and then adapt their own proprietary codec to Selium's client codec
17//! interface by implementing the respective MessageEncoder and MessageDecoder traits located in the
18//! `traits/codec.rs` module.
19//!
20//! - `compression`: Enables all compression implementations.
21//! - `codec`: Enables all client codec implementations.
22//! - `traits`: Enables all traits. Enabled by default.
23//! - `errors`: Enables all errors. Enabled by default.
24
25#[cfg(feature = "codec")]
26pub mod codecs;
27#[cfg(feature = "compression")]
28pub mod compression;
29
30pub mod errors;
31pub mod traits;