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

Creates a recv function to receive from a simple role on a given binary session type of a MeshedChannels.

Arguments

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

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

create_meshedchannels!(MeshedChannels, 3);

create_recv_mpst_session!(recv_mpst_d_from_a, RoleA, RoleD, MeshedChannels, 3, 1);

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