Import crossbeam-queue rust crate am: f2469bb2e5 am: fcdc67c253 am: 404154f244 am: e78a924b12

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/crossbeam-queue/+/1814088

Change-Id: I51d0ebd6143ab5ca43f775f750aec4571d1d3838
tree: b08422b2e0ded8348b295f368488423e767d8041
  1. src/
  2. tests/
  3. Android.bp
  4. build.rs
  5. Cargo.toml
  6. Cargo.toml.orig
  7. CHANGELOG.md
  8. LICENSE-APACHE
  9. LICENSE-MIT
  10. METADATA
  11. MODULE_LICENSE_APACHE2
  12. no_atomic.rs
  13. OWNERS
  14. README.md
README.md

Crossbeam Queue

Build Status License Cargo Documentation Rust 1.36+ chat

This crate provides concurrent queues that can be shared among threads:

  • ArrayQueue, a bounded MPMC queue that allocates a fixed-capacity buffer on construction.
  • SegQueue, an unbounded MPMC queue that allocates small buffers, segments, on demand.

Everything in this crate can be used in no_std environments, provided that alloc feature is enabled.

Usage

Add this to your Cargo.toml:

[dependencies]
crossbeam-queue = "0.3"

Compatibility

Crossbeam Queue supports stable Rust releases going back at least six months, and every time the minimum supported Rust version is increased, a new minor version is released. Currently, the minimum supported Rust version is 1.36.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.