Function bicoro::unicast

source ·
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