macro_rules! create_choose_left_from_3_to_1_and_2 {
    ($func_name:ident, $dual_1:ident, $dual_2:ident, $role_broadcast:ident, $sender:ident) => { ... };
}
Available on crate feature macros_simple only.
Expand description

Create the ChooseMpst function to send a Choose left branch from the third role to the others. Must be used with MeshedChannels.

Arguments

  • The name of the new 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_choose_left_from_3_to_1_and_2
};

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

create_broadcast_role!(RoleAlltoC, RoleCtoAll);

create_choose_left_from_3_to_1_and_2!(
    choose_right_mpst_session_c_to_all,
    RoleADual,
    RoleBDual,
    RoleCtoAll,
    RoleC
);

This macro is available only if MultiCrusty is built with the "macros_simple" feature.