This crate provides a variety of Futures
-based and async/await
compatible
types that are based on the idea of intrusive collections:
- Channels in a variety of flavors:
- Oneshot
- Multi-Producer Multi-Consumer (MPMC)
- State Broadcast
- Synchronization Primitives:
- Manual Reset Event
- Mutex
- Semaphore
- A timer
Please refer to the documentation for details.
In addition to the documentation the examples provide a quick overview on how the primitives can be used.
Add this to your Cargo.toml
:
[dependencies]
futures-intrusive = "^0.4"
In order to use the crate in a no-std
environment, it needs to be compiled
without default features:
[dependencies]
futures-intrusive = { version = "^0.4", default-features = false }
The crate defines a feature alloc
, which can be used in order to re-enable
alloc
features. Also defined is std
, which can be used in order to re-enable
std
features.
The minimum required Rust version is 1.36, due to reliance on stable
Future
, Context
and Waker
types.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.