tokio
具有Merge数据结构,该数据结构允许“合并”两个同质流而忘了出处。
impl<T, U> Stream for Merge<T, U> where
T: Stream,
U: Stream<Item = T::Item>, { ...
是否存在针对流的代数逐点标记的并集,它从a
流和b
流中生成Either a b
流?
PS:我想答案是否,因为显然锈中没有标准的总和类型。.
答案 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))