Macro mpstthree::choose_mpst_c_to_all[][src]

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)
    }
}