合并铁锈/东京溪流

时间:2020-11-03 08:48:07

标签: rust stream rust-tokio

tokio具有Merge数据结构,该数据结构允许“合并”两个同质流而忘了出处。

impl<T, U> Stream for Merge<T, U> where
    T: Stream,
    U: Stream<Item = T::Item>, { ...

是否存在针对流的代数逐点标记的并集,它从a流和b流中生成Either a b流?

PS:我想答案是,因为显然锈中没有标准的总和类型。.

1 个答案:

答案 0 :(得分:1)

我不认为它是作为Tokio中的一种方法直接提供的,但是您可以自己很简单地将其组合在一起。 Rust标准库中没有Either类型,但是像大多数其他东西一样,它有a crate

use either::Either; // 0.3.7
use tokio::stream::StreamExt as _;

stream1
    .map(Either::Left)
    .merge(stream2.map(Either::Right))