rama-utils 0.3.0

utilities crate for rama
Documentation
//! utilities crate for rama
//!
//! `rama-utils` contains utilities used by `rama`,
//! not really being part of one of the other crates, or used
//! by plenty of other crates.
//!
//! # Rama
//!
//! Crate used by the end-user `rama` crate and `rama` crate authors alike.
//!
//! Learn more about `rama`:
//!
//! - Github: <https://github.com/plabayo/rama>
//! - Book: <https://ramaproxy.org/book/>

#![doc(
    html_favicon_url = "https://raw.githubusercontent.com/plabayo/rama/main/docs/img/rama_logo.svg"
)]
#![doc(
    html_logo_url = "https://raw.githubusercontent.com/plabayo/rama/main/docs/img/rama_logo.svg"
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(test, allow(clippy::float_cmp))]
#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]

#[cfg(not(feature = "std"))]
extern crate alloc;

#[doc(hidden)]
#[macro_use]
pub mod macros;

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
pub mod fs;

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
pub mod include_dir;

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
pub mod backoff;

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
pub mod reactive;

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
pub mod time;

pub mod byte_set;
pub mod bytes;
pub mod collections;
pub mod hex;
pub mod info;
pub mod latency;
pub mod octets;
pub mod rng;
pub mod str;

mod std;

#[doc(hidden)]
pub mod test_helpers;

#[cfg(feature = "std")]
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
pub mod thirdparty {
    //! Thirdparty utilities.
    //!
    //! These are external dependencies which are used throughout
    //! the rama ecosystem and which are stable enough
    //! to be re-exported here for your utility.
    //!
    //! Re-export only: keep these deps out of `no_std` graphs
    //! (e.g. kernel drivers) — regex links `std` transitively.

    pub use ::regex;
    pub use ::wildcard;
}