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

futures-stream-select-all

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

1个不稳定版本

使用旧的Rust 2015

0.1.2 2017年6月11日

#25 in #output-stream

MIT 许可证

4KB
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