From 07f2fd177573804dbe29731590819349fb5c3484 Mon Sep 17 00:00:00 2001 From: Markus Westerlind Date: Tue, 23 Jun 2020 17:06:39 +0200 Subject: [PATCH] refactor(h1): use futures::ready! in a few places --- src/proto/h1/conn.rs | 7 +++---- src/server/tcp.rs | 16 ++++------------ 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/proto/h1/conn.rs b/src/proto/h1/conn.rs index c8b355cd..4653210d 100644 --- a/src/proto/h1/conn.rs +++ b/src/proto/h1/conn.rs @@ -214,8 +214,8 @@ where let (reading, ret) = match self.state.reading { Reading::Body(ref mut decoder) => { - match decoder.decode(cx, &mut self.io) { - Poll::Ready(Ok(slice)) => { + match ready!(decoder.decode(cx, &mut self.io)) { + Ok(slice) => { let (reading, chunk) = if decoder.is_eof() { debug!("incoming body completed"); ( @@ -237,8 +237,7 @@ where }; (reading, Poll::Ready(chunk)) } - Poll::Pending => return Poll::Pending, - Poll::Ready(Err(e)) => { + Err(e) => { debug!("incoming body decode error: {}", e); (Reading::Closed, Poll::Ready(Some(Err(e)))) } diff --git a/src/server/tcp.rs b/src/server/tcp.rs index b8238186..a7a51070 100644 --- a/src/server/tcp.rs +++ b/src/server/tcp.rs @@ -3,7 +3,6 @@ use std::io; use std::net::{SocketAddr, TcpListener as StdTcpListener}; use std::time::Duration; -use futures_util::FutureExt as _; use tokio::net::TcpListener; use tokio::time::Delay; @@ -91,19 +90,13 @@ impl AddrIncoming { fn poll_next_(&mut self, cx: &mut task::Context<'_>) -> Poll> { // Check if a previous timeout is active that was set by IO errors. if let Some(ref mut to) = self.timeout { - match Pin::new(to).poll(cx) { - Poll::Ready(()) => {} - Poll::Pending => return Poll::Pending, - } + ready!(Pin::new(to).poll(cx)); } self.timeout = None; - let accept = self.listener.accept(); - futures_util::pin_mut!(accept); - loop { - match accept.poll_unpin(cx) { - Poll::Ready(Ok((socket, addr))) => { + match ready!(self.listener.poll_accept(cx)) { + Ok((socket, addr)) => { if let Some(dur) = self.tcp_keepalive_timeout { if let Err(e) = socket.set_keepalive(Some(dur)) { trace!("error trying to set TCP keepalive: {}", e); @@ -114,8 +107,7 @@ impl AddrIncoming { } return Poll::Ready(Ok(AddrStream::new(socket, addr))); } - Poll::Pending => return Poll::Pending, - Poll::Ready(Err(e)) => { + Err(e) => { // Connection errors can be ignored directly, continue by // accepting the next request. if is_connection_error(&e) {