From a517dbf605db542491408f273388b8da031ec32c Mon Sep 17 00:00:00 2001 From: kalcutter Date: Fri, 25 Sep 2020 02:36:44 +0200 Subject: [PATCH] net: make `UnixListener::poll_accept` public (#2880) This makes it consistent with `TcpListener::poll_accept` and other public poll methods the library provides. This particular method is useful for writing generic code that accepts connections since async functions can't easily be used with traits. It is possible to generically accept connections with `Incoming`, however, this doesn't return the incoming `SocketAddr`. --- tokio/src/net/tcp/listener.rs | 6 +++--- tokio/src/net/unix/listener.rs | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tokio/src/net/tcp/listener.rs b/tokio/src/net/tcp/listener.rs index fd79b259b92..bb25db306bd 100644 --- a/tokio/src/net/tcp/listener.rs +++ b/tokio/src/net/tcp/listener.rs @@ -185,10 +185,10 @@ impl TcpListener { poll_fn(|cx| self.poll_accept(cx)).await } - /// Attempts to poll `SocketAddr` and `TcpStream` bound to this address. + /// Polls to accept a new incoming connection to this listener. /// - /// In case if I/O resource isn't ready yet, `Poll::Pending` is returned and - /// current task will be notified by a waker. + /// If there is no connection to accept, `Poll::Pending` is returned and + /// the current task will be notified by a waker. pub fn poll_accept( &mut self, cx: &mut Context<'_>, diff --git a/tokio/src/net/unix/listener.rs b/tokio/src/net/unix/listener.rs index 9b76cb01fd7..78954fe3854 100644 --- a/tokio/src/net/unix/listener.rs +++ b/tokio/src/net/unix/listener.rs @@ -104,7 +104,11 @@ impl UnixListener { poll_fn(|cx| self.poll_accept(cx)).await } - pub(crate) fn poll_accept( + /// Polls to accept a new incoming connection to this listener. + /// + /// If there is no connection to accept, `Poll::Pending` is returned and + /// the current task will be notified by a waker. + pub fn poll_accept( &mut self, cx: &mut Context<'_>, ) -> Poll> {