nic*_*las 2 stream rust rust-tokio
tokio有一个合并数据结构,允许“合并”两个同构流并忘记出处。
impl<T, U> Stream for Merge<T, U> where
T: Stream,
U: Stream<Item = T::Item>, { ...
Run Code Online (Sandbox Code Playgroud)
是否存在流的代数逐点标记联合,它从 的流a和 的流b生成 的流Either a b?
PS:我想答案是否定的,因为 Rust 显然没有标准的总和类型。
我不认为它是在 tokio 中直接作为方法提供的,但是你自己可以非常简单地将它拼凑起来。EitherRust 标准库中没有类型,但像大多数其他东西一样,有一个板条箱。
use either::Either; // 0.3.7
use tokio::stream::StreamExt as _;
stream1
.map(Either::Left)
.merge(stream2.map(Either::Right))
Run Code Online (Sandbox Code Playgroud)