#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod cancel;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod choose;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod close;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod fork;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod meshedchannels;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod offer;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod recv;
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
pub mod send;
#[macro_export]
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
macro_rules! bundle_struct_fork_close_multi {
(
$func_name_close:ident,
$func_name_fork:ident,
$meshedchannels_name:ident,
$n_sessions:literal
) => {
mpstthree::create_meshedchannels!($meshedchannels_name, $n_sessions);
mpstthree::close_mpst!($func_name_close, $meshedchannels_name, $n_sessions);
mpstthree::fork_mpst_multi!($func_name_fork, $meshedchannels_name, $n_sessions);
};
}
#[macro_export]
#[cfg_attr(doc_cfg, doc(cfg(feature = "macros_multiple")))]
macro_rules! bundle_struct_fork_close_multi_cancel {
(
$func_name_close:ident,
$func_name_fork:ident,
$meshedchannels_name:ident,
$n_sessions:literal
) => {
mpstthree::create_meshedchannels!($meshedchannels_name, $n_sessions);
mpstthree::close_mpst_cancel!($func_name_close, $meshedchannels_name, $n_sessions);
mpstthree::fork_mpst_multi!($func_name_fork, $meshedchannels_name, $n_sessions);
};
}