10个版本 (1个稳定版)

1.0.0 2019年12月17日
0.3.0 2019年11月19日
0.2.6 2019年9月25日
0.1.0 2019年9月15日

#985 in 异步

Download history 508/week @ 2023-12-07 898/week @ 2023-12-14 789/week @ 2023-12-21 785/week @ 2023-12-28 765/week @ 2024-01-04 622/week @ 2024-01-11 782/week @ 2024-01-18 424/week @ 2024-01-25 451/week @ 2024-02-01 740/week @ 2024-02-08 669/week @ 2024-02-15 521/week @ 2024-02-22 581/week @ 2024-02-29 702/week @ 2024-03-07 502/week @ 2024-03-14 669/week @ 2024-03-21

每月下载量2,542
17 个crate中 使用 5个直接使用

MIT/Apache

17KB
315

broadcaster

broadcaster为遵循mpsc模式的任何Stream和Sink提供包装器,以实现广播项目。这意味着发送的任何项目都将被每个接收者接收,而不仅仅是第一个检查的接收者(类似于大多数mpmc流)。例如

use broadcaster::BroadcastChannel;
use futures_util::StreamExt;

let mut chan = BroadcastChannel::new();
chan.send(&5i32).await?;
assert_eq!(chan.next().await, Some(5));

let mut chan2 = chan.clone();
chan2.send(&6i32).await?;
assert_eq!(chan.next().await, Some(6));
assert_eq!(chan2.next().await, Some(6));

lib.rs:

broadcaster为遵循mpsc模式的任何Stream和Sink提供包装器,以实现广播项目。这意味着发送的任何项目都将被每个接收者接收,而不仅仅是第一个检查的接收者(类似于大多数mpmc流)。例如

use broadcaster::BroadcastChannel;

use futures_util::StreamExt;

let mut chan = BroadcastChannel::new();
chan.send(&5i32).await?;
assert_eq!(chan.next().await, Some(5));

let mut chan2 = chan.clone();
chan2.send(&6i32).await?;
assert_eq!(chan.next().await, Some(6));
assert_eq!(chan2.next().await, Some(6));

依赖

~0.6–1.1MB
~18K SLoC