pub fn unicast<'a, I, IA, IB, O, A, B, F>(
selector: F,
first: Coroutine<'a, IA, O, A>,
second: Coroutine<'a, IB, O, B>
) -> Coroutine<'a, I, O, DispatchResult<'a, IA, IB, O, A, B>>where
F: Fn(I) -> UnicastSelect<IA, IB> + Send + 'a,
O: Send,
A: Send,
B: Send,
Expand description
Run two co-routines, sharing inputs depending on selector.
This can be thought of as running them almost in parralel. Selector will route the input as needed to coroutines a and b This variant must send inputs to either first or second it does not share them. See dispatch if you need to share values