Skip to content

Commit

Permalink
multicast replaced with broadcast as more widespread in Rust ecosystem.
Browse files Browse the repository at this point in the history
  • Loading branch information
tower120 committed Nov 10, 2024
1 parent 1e44ee7 commit 460a8d9
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 8 deletions.
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ license = "MIT OR Apache-2.0"
edition = "2021"
exclude = ["benchmarks", "doc"]
repository = "https://github.com/tower120/chute"
description = "Lockfree mpmc/spmc multicast queue."
description = "Lockfree mpmc/spmc broadcast queue."
categories = ["concurrency", "data-structures"]
keywords = ["lockfree", "mpmc", "spmc", "multicast", "queue"]
keywords = ["lockfree", "mpmc", "spmc", "broadcast", "queue"]

[dependencies]
branch_hints = "0.4"
Expand Down
4 changes: 2 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@

![Queue illustration](doc/img/mpmc_white.png)

An mpmc[^mpmc]/spmc[^spmc] lock-free multicast[^broadcast] queue.
An mpmc[^mpmc]/spmc[^spmc] lock-free broadcast[^broadcast] queue.

[^mpmc]: Multi-producer multi-consumer.

[^spmc]: Single-producer multi-consumer.

[^broadcast]: Also known as a broadcast queue. Each consumer gets
[^broadcast]: Also known as a multicast queue. Each consumer gets
every message sent to queue, from the moment of subscription.

* Lock-free consumers without overhead[^lockfree_overhead].
Expand Down
9 changes: 5 additions & 4 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
//! Multi-producer multi-consumer lock-free multicast[^multicast] queue.
//! Multi-producer multi-consumer lock-free multicast queue[^multicast].
//!
//! [^multicast]: Each consumer gets every message sent to queue, from the moment of subscription.
//! [^multicast]: Or broadcast queue. Each consumer gets every message sent
//! to queue, from the moment of subscription.
//!
//! Memory-wise all consumers works with the same shared data blocks, so there
//! is no duplication.
//! Memory-wise all consumers work with the same shared data blocks, so there
//! is no duplication. Queue is unbounded - it grows and shrinks dynamically as needed.
//!
//! Read performance is **stellar** - there is only one atomic read per block.
//! Most of the time - this is just plain continuous data reading.
Expand Down

0 comments on commit 460a8d9

Please sign in to comment.