1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
use async_std::sync::{ Sender }; use crate::base::*; use super::utils::*; use crate::functional::row::*; pub struct ExternalChoice < Row > where Row : RowCon, { pub sender : Sender < ( AppliedSum < Row, () >, Sender < AppliedSum < Row, ReceiverF > > ) > } impl < Row > Protocol for ExternalChoice < Row > where Row : Send + 'static, Row : RowCon, { } impl < Row, A > RecApp < A > for ExternalChoice < Row > where Row : RecApp < A >, Row : RowCon, Row::Applied : RowCon, { type Applied = ExternalChoice < Row::Applied >; }