summaryrefslogtreecommitdiffstats
path: root/third_party/rust/crossbeam-queue/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/crossbeam-queue/src/lib.rs')
-rw-r--r--third_party/rust/crossbeam-queue/src/lib.rs34
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;
+ }
+}