pub fn oneshot<T>() -> (Sender<T>, Receiver<T>)
Create a new oneshot channel, returning a sender/receiver pair