diff options
Diffstat (limited to 'examples/tcp_accept.rs')
-rw-r--r-- | examples/tcp_accept.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/tcp_accept.rs b/examples/tcp_accept.rs new file mode 100644 index 0000000..023e1a1 --- /dev/null +++ b/examples/tcp_accept.rs @@ -0,0 +1,21 @@ +use async_stream::stream; +use futures_util::pin_mut; +use futures_util::stream::StreamExt; +use tokio::net::TcpListener; + +#[tokio::main] +async fn main() { + let mut listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + + let incoming = stream! { + loop { + let (socket, _) = listener.accept().await.unwrap(); + yield socket; + } + }; + pin_mut!(incoming); + + while let Some(v) = incoming.next().await { + println!("handle = {:?}", v); + } +} |