1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
//! One-shot value exhange between threads. The consumer thread may await the producer thread //! Both the producer and consumer are single use //! //! Just a wrapper around a std::mpsc channel with an API that makes it impossible to use more than once //! //! # Example //! //! ``` //! use promissory::{promissory, Awaiter}; //! let (send, recv) = promissory::promissory(); //! std::thread::spawn(move || send.fulfill(42u32)); //! assert_eq!(42, recv.await_value().expect("this thread cannot die")); //! ``` //! mod basic_promissory; pub use crate::basic_promissory::{promissory, Awaiter, Fulfiller};