[][src]Function session_types::hselect

#[must_use]
pub fn hselect<E, P, A>(
    chans: Vec<Chan<E, Recv<A, P>>>
) -> (Chan<E, Recv<A, P>>, Vec<Chan<E, Recv<A, P>>>)

Homogeneous select. We have a vector of channels, all obeying the same protocol (and in the exact same point of the protocol), wait for one of them to receive. Removes the receiving channel from the vector and returns both the channel and the new vector.