In my mind, this problem should be trivial to solve, but after some searching I am still unable to do this. I have a tokio::sync::mpsc::Receiver (let us call it receiver). I would like to wait for receiver to have messages in it, without however pulling any message out. Having looked at the docs, I cannot find anything other than receiver.recv() to get the job done, which however pulls the first message out. I cannot seem to find anything along the lines of receiver.readable() or receiver.peek() or anything like that. Am I missing something? Is there a workaround to do what I need to do?