Macro mpstthree::create_offer_mpst_session_multi [−][src]
macro_rules! create_offer_mpst_session_multi { ($func_name : ident, $type_name : ident, $role : ident, $name : ident, $meshedchannels_name : ident, $nsessions : literal, $exclusion : literal) => { ... }; }
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_normal_role, create_offer_mpst_session_multi, create_offer_type_multi, create_meshedchannels, }; 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 );