macro_rules! create_recv_http_session_bundle {
    ($( $func_name: ident, $sender: ident, $exclusion: literal | )+ => $receiver: ident, $meshedchannels_name: ident, $n_sessions: literal) => { ... };
}
Available on crate features transport or transport_http only.
Expand description

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

Arguments

  • The name of the new recv functions
  • The name of the senders
  • The name of the receiver
  • The index of the binary session types that will receive in the MeshedChannels for each 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_meshedchannels, create_recv_http_session_bundle};

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

create_meshedchannels!(MeshedChannels, 3);


create_recv_http_session_bundle!(
   recv_mpst_d_from_a,
   RoleA,
   1 |
   recv_mpst_d_from_b,
   RoleB,
   2 | =>
   RoleD,
   MeshedChannels,
   3
);

This macro is available only if MultiCrusty is built with the "transport" feature or the "transport_http" feature.