macro_rules! create_choose_both_from_2_to_1_and_3 { ( $func_name_right:ident, $func_name_left:ident, $name_receiver_1:ident, $name_receiver_2:ident, $role_broadcast:ident, $name_sender:ident ) => { ... }; }
Available on crate feature
macros_simple
only.Expand description
Call both create_choose_right_from_2_to_1_and_3
and create_choose_left_from_2_to_1_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::{
create_multiple_normal_role, create_broadcast_role,
create_choose_both_from_2_to_1_and_3, create_multiple_normal_name
};
create_multiple_normal_role!(
RoleA, RoleADual |
RoleB, RoleBDual |
RoleC, RoleCDual |
);
create_multiple_normal_name!(
NameA,
NameB,
NameC
);
create_broadcast_role!(RoleAlltoB, RoleBtoAll);
create_choose_both_from_2_to_1_and_3!(
choose_right_mpst_session_b_to_all,
choose_left_mpst_session_b_to_all,
NameA,
NameC,
RoleBtoAll,
NameB
);
This macro is available only if MultiCrusty is built with
the "macros_simple"
feature.