Gets the next key event, if one is available.
(&mut self)
| 156 | |
| 157 | /// Gets the next key event, if one is available. |
| 158 | pub(crate) async fn try_recv(&mut self) -> io::Result<Option<Key>> { |
| 159 | match self.on_key_rx.try_recv() { |
| 160 | Ok(k) => { |
| 161 | self.yielder.on_host_yield(); |
| 162 | Ok(Some(k)) |
| 163 | } |
| 164 | Err(TryRecvError::Empty) => Ok(None), |
| 165 | Err(TryRecvError::Closed) => log_and_panic!("Channel unexpectedly closed"), |
| 166 | } |
| 167 | } |
| 168 | |
| 169 | /// Gets the next key event, waiting until one is available. |
| 170 | pub(crate) async fn recv(&mut self) -> io::Result<Key> { |
no test coverage detected