Macro mpstthree::create_choose_both_from_3_to_1_and_2[][src]

macro_rules! create_choose_both_from_3_to_1_and_2 {
    ($func_name_right : ident, $func_name_left : ident, $dual_1 : ident, $dual_2 :
 ident, $role_broadcast : ident, $sender : ident) => { ... };
}
Expand description

Call both mpstthree::create_choose_right_from_3_to_1_and_2 and mpstthree::create_choose_left_from_3_to_1_and_2. Must be used with mpstthree::meshedchannels::MeshedChannels.

Arguments

  • The name of the new right ChooseMpst function
  • The name of the new left ChooseMpst function
  • The name of the dual of the first receiver
  • The name of the dual of the second receiver
  • The name of the broadcasting sender. This one should contain toAll according to the convention
  • The name of the sender

Example

use mpstthree::role::Role;
use mpstthree::{  
    create_multiple_normal_role, create_broadcast_role,
    create_meshedchannels, create_choose_both_from_3_to_1_and_2
};

create_multiple_normal_role!(
    RoleA, RoleADual |
    RoleB, RoleBDual |
    RoleC, RoleCDual |
);

create_broadcast_role!(RoleAlltoB, RoleBtoAll);

create_meshedchannels!(MeshedChannels, 3);

create_choose_both_from_3_to_1_and_2!(
    choose_right_mpst_session_b_to_all,
    choose_left_mpst_session_b_to_all,
    RoleADual,
    RoleCDual,
    RoleBtoAll,
    RoleB
);