1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
//! `yaar_lock` aims to provide `#![no_std]` tools for synchronizing resource access across threads and futures. //! //! # Features //! By default, `yaar_lock` provides only the central building block traits and components have to be enabled explicitly. //! //! * `os`: Enables [`OsThreadEvent`] and exposes flavors of types which use it. This assumes the platform and provides interfaces to interact with it, similar to libstd. //! * `sync`: Enables the [`sync`] module which exposes the synchronization primitives that use OS thread blocking. //! * `future`: Enables the [`future`] module which exposes synchronization primitives that are future-aware. #![cfg_attr(not(test), no_std)] #![cfg_attr(feature = "nightly", feature(doc_cfg))] mod thread_event; pub use self::thread_event::*; /// Synchronization primitives based on OS thread blocking #[cfg(feature = "sync")] pub mod sync; /// Synchronization primitives based on futures. #[cfg(feature = "future")] pub mod future;