async fn recv_loop<T>(stream: ReadHalf<T>, recv_loop_sender: mpsc::UnboundedSender<Result<Message>>)
where
    T: AsyncRead,
{
    let mut stream = BufReader::new(stream);
    loop {
        if let Err(_) = recv_loop_sender.send(recv_loop_inner(&mut stream).await) {
            // nothing can be done here
            return;
        }
    }
}
/// reads messages from `stream`, deserializes them, and sends them to `queue`
reads messages from `stream`, deserializes them, and sends them to `queue`
reads messages from ` stream ` deserializes them and sends them to ` queue `
async fn recv_loop<T>(stream: ReadHalf<T>, recv_loop_sender: mpsc::UnboundedSender<Result<Message>>)
where
    T: AsyncRead,
{
    let mut stream = BufReader::new(stream);
    loop {
        if let Err(_) = recv_loop_sender.send(recv_loop_inner(&mut stream).await) {
            // nothing can be done here
            return;
        }
    }
}
async fn recv_loop < T > ( stream : ReadHalf < T > , recv_loop_sender : mpsc :: UnboundedSender < Result < Message > > ) where T : AsyncRead , { let mut stream = BufReader :: new ( stream ) ; loop { if let Err ( _ ) = recv_loop_sender . send ( recv_loop_inner ( & mut stream ) . await ) { // nothing can be done here return ; } } }
reads messages from `stream`, deserializes them, and sends them to `queue`
reads messages from ` stream ` deserializes them and sends them to ` queue `
stream
ReadHalf<T>
recv_loop_sender
mpsc::UnboundedSender<Result<Message>>
stream
ReadHalf<T>
recv_loop_sender
mpsc::UnboundedSender<Result<Message>>