2 个不稳定版本

0.2.3 2022 年 6 月 21 日
0.2.2 2022 年 6 月 20 日
0.2.1 2020 年 9 月 14 日
0.2.0 2020 年 9 月 14 日
0.1.0 2020 年 9 月 13 日

#1921 in 异步

Download history 71/week @ 2024-04-11 82/week @ 2024-04-18 75/week @ 2024-04-25 62/week @ 2024-05-02 55/week @ 2024-05-09 56/week @ 2024-05-16 52/week @ 2024-05-23 67/week @ 2024-05-30 82/week @ 2024-06-06 136/week @ 2024-06-13 141/week @ 2024-06-20 73/week @ 2024-06-27 86/week @ 2024-07-04 172/week @ 2024-07-11 187/week @ 2024-07-18 213/week @ 2024-07-25

每月 667 次下载

Apache-2.0 许可证

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