extern crate session_types; use session_types::*; fn main() { let (tcs, rcs) = session_channel(); let (tcu, rcu) = session_channel(); let receivers = vec!(rcs, rcu); tcs.send("Hello, World from TCS!".to_string()).close(); let (ready, mut rest) = hselect(receivers); let (to_close, s) = ready.recv(); println!("Got a response: \"{}\"", s); to_close.close(); tcu.send("Hello, World from TCU!".to_string()).close(); rest .drain(..) .for_each(|r| { let (to_close, s) = r.recv(); println!("Also got this: \"{}\"", s); to_close.close() }); }