ckb_channel/lib.rs
1//! Reexports `crossbeam_channel` to uniform the dependency version.
2pub use crossbeam_channel::{
3 after, bounded, select, tick, unbounded, Receiver, RecvError, RecvTimeoutError, Select,
4 SendError, Sender, TrySendError,
5};
6
7pub mod oneshot {
8 //! A one-shot channel is used for sending a single message between asynchronous tasks.
9
10 use std::sync::mpsc::sync_channel;
11 pub use std::sync::mpsc::{Receiver, RecvError, SyncSender as Sender};
12
13 /// Create a new one-shot channel for sending single values across asynchronous tasks.
14 pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
15 sync_channel(1)
16 }
17}