2 个不稳定版本
0.2.3 | 2022 年 6 月 21 日 |
---|---|
0.2.2 |
|
0.2.1 |
|
0.2.0 |
|
0.1.0 | 2020 年 9 月 13 日 |
#1921 in 异步
每月 667 次下载
17KB
318 行
barrage
一个简单的异步广播通道。它与运行时不相关,可以从任何执行器中使用。它还可以同步操作。
示例
#[tokio::main]
async fn main() {
let (tx, rx) = barrage::unbounded();
let rx2 = rx.clone();
tx.send_async("Hello!").await.unwrap();
assert_eq!(rx.recv_async().await, Ok("Hello!"));
assert_eq!(rx2.recv_async().await, Ok("Hello!"));
}
lib.rs
:
Barrage - 一个异步广播通道。发送的每条消息都将被每个接收器接收。当通道达到容量时,发送操作将阻塞、等待或失败(取决于选择的发送类型)。克隆的接收器将只接收克隆后发送的消息。
示例
let (tx, rx1) = barrage::unbounded();
let rx2 = rx1.clone();
tx.send("Hello!");
let rx3 = rx1.clone();
assert_eq!(rx1.recv(), Ok("Hello!"));
assert_eq!(rx2.recv(), Ok("Hello!"));
assert_eq!(rx3.try_recv(), Ok(None));
依赖关系
~355KB