#async-stream #stream #async

streem

创建和消耗流的简单实用工具

3 个不稳定版本

0.2.0 2023年9月11日
0.1.1 2023年9月9日
0.1.0 2023年9月9日

#5 in #streams

Download history 33/week @ 2024-04-08 61/week @ 2024-04-15 51/week @ 2024-04-22 93/week @ 2024-04-29 401/week @ 2024-05-06 240/week @ 2024-05-13 94/week @ 2024-05-20 37/week @ 2024-05-27 85/week @ 2024-06-03 23/week @ 2024-06-10 67/week @ 2024-06-17 100/week @ 2024-06-24 7/week @ 2024-07-01 48/week @ 2024-07-08 74/week @ 2024-07-15 26/week @ 2024-07-22

每月162次下载
用于 4 个crate (3 个直接使用)

GPL-3.0 许可证

19KB
262

Streem

创建和消费异步流的简单库

使用方法

添加到您的 Cargo.toml 中

$ cargo add streem

在您的应用程序中使用

use streem::IntoStreamer;

fn from_iter<I>(iter: impl IntoIterator<Item = I>) -> impl futures_core::Stream<Item = I>
where
    I: 'static,
{
    streem::from_fn(|yielder| async move {
        for i in iter {
            yielder.yield_(i).await;
        }
    })
}

fn main() {
    futures_executor::block_on(async {
        let stream = std::pin::pin!(from_iter(0..10));

        let mut streamer = stream.into_streamer();

        while let Some(item) = streamer.next().await {
            println!("Yielded {item}");
        }
    })
}

贡献

欢迎对任何发现的问题提出问题。请注意,任何贡献的代码都将按照 GPLv3 许可。

许可证

版权所有 © 2023 asonix

Streem 是免费软件:您可以按照自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,许可证版本为 3,或(根据您的要求)任何更高版本。

Streem 分发是为了希望它有用,但没有任何保证;甚至没有关于其商销性或适用于特定目的的隐含保证。有关详细信息,请参阅 GNU 通用公共许可证。此文件是 Streem 的一部分。

您应该已随 Streem 收到一份 GNU 通用公共许可证的副本。如果没有,请参阅 https://gnu.ac.cn/licenses/

依赖关系

~70KB