use std::sync::mpsc::{channel, Receiver, Sender};
pub struct Channel<T> {
sender: Sender<T>,
receiver: Receiver<T>,
}
impl<T> Channel<T> {
pub fn new() -> Self {
let (sender, receiver) = channel();
Self { sender, receiver }
}
pub fn sender(&self) -> Sender<T> {
self.sender.clone()
}
pub fn receiver(&self) -> &Receiver<T> {
&self.receiver
}
}