#stream #future #output-stream #merge #async

futures-stream-select-all-send

多个流输出合并的 futures 库适配器

1 个不稳定版本

使用旧的 Rust 2015

0.1.2 2018年7月4日

24 in #output-stream

MIT 许可证

5KB
61

futures-stream-select-all

一个用于合并多个流输出的 futures 库适配器。

它实现了一个二叉树结构,以有效地执行任何数量底层流的 select 操作。

使用方法

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

[dependencies]
futures-stream-select-all = "0.1"

然后,将以下内容添加到您的 crate 中

extern crate futures-stream-select-all;

use futures_stream_select_all::select_all;

示例

    use futures::{stream, Stream, Future};
    use futures_stream_select_all::select_all;

    let stream_a = stream::iter(vec![Ok(0), Ok(1)]);
    let stream_b = stream::iter(vec![Ok(2), Ok(3), Ok(4)]);
    let stream_c = stream::iter(vec![Ok(5)]);

    let mut values = select_all::<_, _, ()>(vec![stream_a, stream_b, stream_c])
        .collect()
        .wait()
        .unwrap();
    values.sort();
    assert_eq!(values, vec![0, 1, 2, 3, 4, 5]);

许可证

futures-stream-select-all 主要在 MIT 许可证的条款下分发。

请参阅 LICENSE-MIT 了解详细信息。

依赖项

~53KB