macro_rules! create_offer_mpst_session_multi {
(
$func_name:ident,
$type_name:ident,
$role:ident,
$name:ident,
$meshedchannels_name:ident,
$n_sessions:literal,
$exclusion:literal
) => { ... };
}
Available on crate feature
macros_multiple
only.Expand description
Creates an OfferMpst function to receive an offer on a given binary session type of a MeshedChannels.
Arguments
- The name of the new OfferMpst function
- The name of the OfferMpst type that will be used
- The name of the dual of the broadcasting sender. This one should contain toAll according to the convention
- The name of the recv function that is related
- The name of the receiver
- The name of the MeshedChannels type that will be used
- The number of participants (all together)
- The index of the binary session type that will receive in the MeshedChannels for this specific role. Index starts at 1.
Example
use mpstthree::{
create_broadcast_role, create_meshedchannels, create_normal_role,
create_offer_mpst_session_multi, create_offer_type_multi,
};
create_normal_role!(RoleB, RoleBDual);
create_broadcast_role!(RoleAlltoD, RoleDtoAll);
create_meshedchannels!(MeshedChannels, 3);
create_offer_type_multi!(OfferMpstThree, MeshedChannels, 3);
create_offer_mpst_session_multi!(
offer_mpst_session_b_to_d,
OfferMpstThree,
RoleAlltoD,
RoleB,
MeshedChannels,
3,
2
);
This macro is available only if MultiCrusty is built with
the "macros_multiple"
feature.