macro_rules! create_choose_both_from_1_to_2_and_3 {
(
$func_name_right:ident,
$func_name_left:ident,
$dual_1:ident,
$dual_2:ident,
$role_broadcast:ident,
$sender:ident
) => { ... };
}
Available on crate feature
macros_simple
only.Expand description
Call both create_choose_right_from_1_to_2_and_3
and create_choose_left_from_1_to_2_and_3.
Must be used with 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_choose_both_from_1_to_2_and_3
};
create_multiple_normal_role!(
RoleA, RoleADual |
RoleB, RoleBDual |
RoleC, RoleCDual |
);
create_broadcast_role!(RoleAlltoB, RoleBtoAll);
create_choose_both_from_1_to_2_and_3!(
choose_right_mpst_session_b_to_all,
choose_left_mpst_session_b_to_all,
RoleADual,
RoleCDual,
RoleBtoAll,
RoleB
);
This macro is available only if MultiCrusty is built with
the "macros_simple"
feature.