macro_rules! create_send_mpst_session_bundle { ($( $func_name: ident, $receiver: ident, $exclusion: literal | )+ => $sender: ident, $meshedchannels_name: ident, $n_sessions: literal) => { ... }; }
Available on crate feature
macros_multiple
only.Expand description
Creates multiple send functions to send from a given binary session type of a MeshedChannels with more than 3 participants.
§Arguments
- The name of the new send functions
- The name of the receivers
- The name of the senders
- The index of the binary session types that will receive in the MeshedChannels for this specific role. Index starts at 1.
- The name of the MeshedChannels type that will be used
- The number of participants (all together)
§Example
use mpstthree::{create_multiple_normal_role, create_normal_name, create_meshedchannels, create_send_mpst_session_bundle};
create_multiple_normal_role!(
RoleA, RoleADual |
RoleB, RoleBDual |
RoleD, RoleDDual |
);
create_normal_name!(NameD);
create_meshedchannels!(MeshedChannels, 3);
create_send_mpst_session_bundle!(
send_mpst_d_to_a,
RoleA,
1 |
send_mpst_d_to_b,
RoleB,
2 | =>
NameD,
MeshedChannels,
3
);
This macro is available only if MultiCrusty is built with
the "macros_multiple"
feature.