macro_rules! create_send_mpst_cancel {
    (
        $func_name:ident,
        $receiver:ident,
        $sender:ident,
        $meshedchannels_name:ident,
        $n_sessions:literal,
        $exclusion:literal
    ) => { ... };
}
Available on crate feature macros_multiple only.
Expand description

Creates a send function to send from a given binary session type of a MeshedChannels with more than 3 participants. The send function will try to send and panic if not possible (canceled session).

Arguments

  • The name of the new send function
  • The name of the receiver
  • The name of the sender
  • 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_multiple_normal_role, create_send_mpst_cancel, create_meshedchannels};

create_multiple_normal_role!(
    RoleA, RoleADual |
    RoleB, RoleBDual |
    RoleD, RoleDDual |
);

create_meshedchannels!(MeshedChannels, 3);

create_send_mpst_cancel!(send_cancel_d_to_a, RoleA, RoleD, MeshedChannels, 3, 1);

This macro is available only if MultiCrusty is built with the "macros_multiple" feature.