pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
    let shared = Rc::new(RefCell::new(Shared {
        buffer: VecDeque::new(),
        blocked_recv: LocalWaker::new(),
    }));
    let sender = Sender {
        shared: Rc::downgrade(&shared),
    };
    let receiver = Receiver {
        state: State::Open(shared),
    };
    (sender, receiver)
}
/// Creates a unbounded in-memory channel with buffered storage.
Creates a unbounded in-memory channel with buffered storage.
Creates a unbounded in - memory channel with buffered storage .
pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
    let shared = Rc::new(RefCell::new(Shared {
        buffer: VecDeque::new(),
        blocked_recv: LocalWaker::new(),
    }));
    let sender = Sender {
        shared: Rc::downgrade(&shared),
    };
    let receiver = Receiver {
        state: State::Open(shared),
    };
    (sender, receiver)
}
pub fn channel < T > ( ) -> ( Sender < T > , Receiver < T > ) { let shared = Rc :: new ( RefCell :: new ( Shared { buffer : VecDeque :: new ( ) , blocked_recv : LocalWaker :: new ( ) , } ) ) ; let sender = Sender { shared : Rc :: downgrade ( & shared ) , } ; let receiver = Receiver { state : State :: Open ( shared ) , } ; ( sender , receiver ) }
Creates a unbounded in-memory channel with buffered storage.
Creates a unbounded in - memory channel with buffered storage .