Macro mpstthree::offer_mpst_a_to_c

source ·
macro_rules! offer_mpst_a_to_c {
    ($session: expr, { $( $pat: pat => $result: block , )+ }) => { ... };
}
Expand description

Offer a choice to A from C between many different sessions wrapped in an enum

§Arguments

  • The session to be used
  • Each path, which are each variant of the enum which contains the new branches
  • The block of code to process each new session

§Example

offer_mpst_a_to_c!(s, {
   CBranchesAtoC::End(s) => {
       close_mpst(s)
   },
   CBranchesAtoC::Video(s) => {
       let (request, s) = recv_mpst_a_from_c(s)?;
       let s = send_mpst_a_to_b(request + 1, s);
       let (video, s) = recv_mpst_a_from_b(s)?;
       let s = send_mpst_a_to_c(video + 1, s);
       authenticator_recurs(s)
   },
})?;