Conqueue

Crates.io Crates.io

Conqueue is another multi-producer, single-consumer queue (MPSC) for the Rust programming language.

Getting Started

To get started, add the following to your Cargo.toml file:

toml [dependencies] conqueue = "0.1.0"

Then, at the root of your crate:

rust extern crate conqueue

Finally, create a sender/receiver pair. The sender may be cloned to allow concurrent producers, and it is both Send and Sync.

```rust let (tx1, mut rx) = conqueue::Queue::unbounded(); let tx2 = tx1.clone();

tx1.push(1); tx2.push(2);

while let Some(value) = rx.pop() { println!("popped: {}", value); } ```

Release Notes

0.1.1 - 2019-07-30

0.1.0 - 2019-07-30

Developer Notes

To run the tests, execute the following:

bash cargo test

To run a benchmark for the queue, execute the following:

bash cargo test --release -- --ignored --nocapture

Inspiration

This code is largely based on majek's implementation of Michael-Scott queue. You can find the code here and a blog post here.

License

Conqueue is provided under the MIT license.