Skip to content

Synchronization primitives for Futures and async/await based on intrusive collections

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

goffrie/futures-intrusive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

futures-intrusive

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.

Usage

Add this to your Cargo.toml:

[dependencies]
futures-intrusive = "0.2.0"

In order to use the crate in a no-std environment, it needs to be compiled without default features:

[dependencies]
futures-intrusive = { version = "0.2.0", default-features = false }

The crate defines a feature std, which can be used in order to re-enable std features.

Minimum Rust version

Due to the usage of unstable features, the library depends on a nightly version of the Rust compiler. The current minimum required Rust version is 1.36 nightly 2019-05-21.

License

Licensed under either of

at your option.

About

Synchronization primitives for Futures and async/await based on intrusive collections

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%