diff --git a/Cargo.toml b/Cargo.toml index 61addb8..06ca0cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -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" diff --git a/Readme.md b/Readme.md index c9dc896..b9b7136 100644 --- a/Readme.md +++ b/Readme.md @@ -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]. diff --git a/src/lib.rs b/src/lib.rs index 88d9922..18fa76b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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.