in netbench/src/multiplex.rs [178:191]
fn flush_read_buffer(&mut self, cx: &mut Context) -> Result<()> {
loop {
if self.frame.is_none() {
if let Some(frame) = self.decoder.decode(&mut self.read_buf)? {
self.frame = Some(frame);
}
}
match self.dispatch_frame(cx) {
Poll::Ready(result) => result?,
Poll::Pending => return Ok(()),
}
}
}