macro_rules! choose_mpst_c_to_all {
    ($session: expr,  $( $label: path),+ $(,)? ) => { ... };
}
Expand description

Choose, for C, among two different sessions

Arguments

  • The session to be used
  • The first path to be used
  • The second path to be used

Example

match xs.pop() {
    Option::Some(_) => {
        let s = choose_mpst_c_to_all!(
            s,
            CBranchesAtoC::Video,
            CBranchesBtoC::Video
        );
        let s = send_mpst_c_to_a(1, s);
        let (_, s) = recv_mpst_c_from_a(s)?;
        client_recurs(s, xs, index + 1)
    }
    Option::None => {
        let s = choose_mpst_c_to_all!(
            s,
            CBranchesAtoC::End,
            CBranchesBtoC::End
        );
        close_mpst(s)
    }
}