5 releases
Uses new Rust 2024
new 0.2.3 | May 24, 2025 |
---|---|
0.2.2 | May 23, 2025 |
0.2.1 | May 23, 2025 |
0.2.0 | May 23, 2025 |
0.1.0 | May 23, 2025 |
#1667 in Network programming
181 downloads per month
Used in 4 crates
(2 directly)
11KB
138 lines
hyperlane-broadcast
hyperlane-broadcast is a lightweight and ergonomic wrapper over Tokio’s broadcast channel designed for easy-to-use publish-subscribe messaging in async Rust applications. It simplifies the native Tokio broadcast API by providing a straightforward interface for broadcasting messages to multiple subscribers with minimal boilerplate.
Installation
To use this crate, you can run cmd:
cargo add hyperlane-broadcast
Use
use hyperlane_broadcast::*;
let broadcast: Broadcast<usize> = Broadcast::new(10);
let mut rec1: BroadcastReceiver<usize> = broadcast.subscribe();
let mut rec2: BroadcastReceiver<usize> = broadcast.subscribe();
broadcast.send(20).unwrap();
assert_eq!(rec1.recv().await, Ok(20));
assert_eq!(rec2.recv().await, Ok(20));
let broadcast_map: BroadcastMap<usize> = BroadcastMap::new("a", 10);
let mut rec1: BroadcastMapReceiver<usize> = broadcast_map.subscribe("a").unwrap();
let mut rec2: BroadcastMapReceiver<usize> = broadcast_map.subscribe("a").unwrap();
broadcast_map.send("a", 20).unwrap();
assert_eq!(rec1.recv().await, Ok(20));
assert_eq!(rec2.recv().await, Ok(20));
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
Contact
For any inquiries, please reach out to the author at root@ltpp.vip.
Dependencies
~3.5–9.5MB
~85K SLoC