#stream #async-stream #shared #async

shared_stream

一个易于克隆流的 crate

4 个版本

0.2.1 2022年2月4日
0.2.0 2021年3月12日
0.1.1 2021年3月3日
0.1.0 2021年3月2日

#1530异步

Download history 10/week @ 2024-05-27 1/week @ 2024-06-17

269 每月下载量

AGPL-3.0+

16KB
257

shared_stream 是一个易于克隆流的 crate。

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
shared_stream = "0.2"

现在,您可以使用 shared_stream

use shared_stream::Share;

let shared = stream::iter(1..=3).shared();

许可证

此 crate 根据自由软件基金会发布的 GNU Affero 通用公共许可证的条款发布,许可证版本为 3 或更高版本(根据您的选择)。


lib.rs:

一个易于克隆 Stream 的 crate,类似于 FutureExt::shared

示例

use futures::stream::{self, StreamExt};
use shared_stream::Share;

let shared = stream::iter(1..=3).shared();
assert_eq!(shared.clone().take(1).collect::<Vec<_>>().await, [1]);
assert_eq!(shared.clone().skip(1).take(1).collect::<Vec<_>>().await, [2]);
assert_eq!(shared.collect::<Vec<_>>().await, [1, 2, 3]);

依赖项

~70KB