rumpsteak/
choice.rs

1pub use rumpsteak_macros::Choice;
2
3use crate::{role::Role, Label, Session, State};
4
5pub trait Internal<'r, R: Role, L>
6where
7    R::Message: Label<L>,
8{
9    type Session: Session<'r, R>;
10}
11
12pub trait External<'r, R: Role>: Sized {
13    fn choice(state: State<'r, R>, message: R::Message) -> Option<Self>;
14}