diff options
Diffstat (limited to 'third_party/rust/crossbeam-queue/src/lib.rs')
-rw-r--r-- | third_party/rust/crossbeam-queue/src/lib.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/rust/crossbeam-queue/src/lib.rs b/third_party/rust/crossbeam-queue/src/lib.rs new file mode 100644 index 0000000000..846d7c2e1b --- /dev/null +++ b/third_party/rust/crossbeam-queue/src/lib.rs @@ -0,0 +1,34 @@ +//! Concurrent queues. +//! +//! 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. + +#![doc(test( + no_crate_inject, + attr( + deny(warnings, rust_2018_idioms), + allow(dead_code, unused_assignments, unused_variables) + ) +))] +#![warn( + missing_docs, + missing_debug_implementations, + rust_2018_idioms, + unreachable_pub +)] +#![cfg_attr(not(feature = "std"), no_std)] + +#[cfg(not(crossbeam_no_atomic_cas))] +cfg_if::cfg_if! { + if #[cfg(feature = "alloc")] { + extern crate alloc; + + mod array_queue; + mod seg_queue; + + pub use self::array_queue::ArrayQueue; + pub use self::seg_queue::SegQueue; + } +} |