Function mpstthree::functionmpst::offer::offer_mpst_session_to_c_from_a
source · pub fn offer_mpst_session_to_c_from_a<'a, S1, S2, S3, S4, S5, F, G, R1, R2, U>(
s: MeshedChannels<OfferMpst<S1, S2, S3, S4, R1, R2, NameC>, S5, RoleAlltoA<RoleEnd, RoleEnd>, NameC>,
f: F,
g: G
) -> Result<U, Box<dyn Error + 'a>>
Expand description
Offer a choice to A from C (on its session field related to C) between two
MeshedChannels
,
MeshedChannels<S1, S2, R1, N1>
and MeshedChannels<S3, S4, R2, N2>
.
§Example
// Please check the tests usecase
ⓘ
offer_mpst_session_to_c_from_a(
s,
|s: EndpointCRecv<i32>| {
let (request, s) = recv_mpst_c_from_a(s)?;
close_mpst(s)
},
|s: EndpointCEnd| {
close_mpst(s)
},
)