Skip to content

Commit

Permalink
README: updated description and fixed typo
Browse files Browse the repository at this point in the history
  • Loading branch information
Amjad50 committed Feb 25, 2024
1 parent 21913e7 commit 4b331b5
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,18 @@ maybe I won't call it `lock-free` in the strict sense.
The API of the `blinkcast` is similar to that of the `std::sync::mpsc` channels.
However, there are some differences:

- It allows for multiple consumers (receivers) and multiple prodocuers (senders).
- It allows for multiple consumers (receivers) and multiple producers (senders).
- The channel broadcasts every send to every consumer.
- Lossy, the sender will overwrite old data, so receivers must be quick or they will lose the old data (don'
t blink).
- Implemented for `no_std` environments.

Due to that nature, this is useful in applications where data comes in very quick and new data is always more important
than old data which can be discarded.
This could be useful for example in implementing audio driver, where a small glitch but staying
up to date is better than delayed audio.
This could be useful for example in implementing:
- **audio driver** (small glitch but staying up to date is better than delayed audio).
- **mouse/keyboard driver** with big enough buffer (This was actually why this was created, see: https://github.com/Amjad50/Emerald/pull/71 and https://github.com/Amjad50/Emerald/pull/72)
- etc...

See [the documentation](https://docs.rs/blinkcast) for examples.

Expand All @@ -35,3 +37,4 @@ The minimum supported Rust version for this crate is `1.61.0`

# License
Licensed under `MIT` ([LICENSE](./LICENSE) or http://opensource.org/licenses/MIT)

0 comments on commit 4b331b5

Please sign in to comment.