5个版本
0.2.4 | 2020年11月6日 |
---|---|
0.2.3 | 2020年5月28日 |
0.2.2 | 2020年5月27日 |
0.2.1 | 2020年5月26日 |
0.2.0 | 2020年5月26日 |
在异步中排名第1011
17KB
331 行
gabelung
将异步流分支成两个,将所有项推送到两个部分。
生成的分支可以独立轮询,并将从底层流(必须是Clone
)接收所有项。
只要两个部分都活着,一个部分永远不会比另一个部分快超过固定数量的项。
此库的目标是通过与futures-rs
(待定问题)集成而使其过时。它不依赖于执行器功能,因此是运行时无关的。它已验证在async_std
和tokio
上都能正常工作。
示例
use futures::{stream, prelude::*};
let (mut left, mut right) = gabelung::new(stream::repeat(1u8));
assert_eq!(left.next().await, Some(1u8));
assert_eq!(right.next().await, Some(1u8));
许可证
MIT
lib.rs
:
将异步流分支成两个,将所有项推送到两个部分。
生成的分支可以独立轮询,并将从底层流(必须是Clone
)接收所有项。
只要两个部分都活着,一个部分永远不会比另一个部分快超过固定数量的项。
此库是运行时无关的。它已验证在async_std
和tokio
上都能正常工作。
示例
use futures::{stream, prelude::*};
let (mut left, mut right) = gabelung::new(stream::repeat(1u8));
assert_eq!(left.next().await, Some(1u8));
assert_eq!(right.next().await, Some(1u8));
依赖项
~1–1.5MB
~27K SLoC