]> git.lizzy.rs Git - connect-rs.git/blobdiff - src/tcp/client.rs
make async-oriented, remove block_on
[connect-rs.git] / src / tcp / client.rs
index 4c85138af01d95bfb13c629fc2163c529821786a..221825da27399ad7ab477a13be1a979b7179abcf 100644 (file)
@@ -1,12 +1,13 @@
-use async_std::task;
 use log::*;
 
 use crate::Connection;
 use async_std::net::{TcpStream, ToSocketAddrs};
 
 impl Connection {
-    pub fn tcp_client<A: ToSocketAddrs + std::fmt::Display>(ip_addrs: A) -> anyhow::Result<Self> {
-        let stream = task::block_on(TcpStream::connect(&ip_addrs))?;
+    pub async fn tcp_client<A: ToSocketAddrs + std::fmt::Display>(
+        ip_addrs: A,
+    ) -> anyhow::Result<Self> {
+        let stream = TcpStream::connect(&ip_addrs).await?;
         info!("Established client TCP connection to {}", ip_addrs);
 
         stream.set_nodelay(true)?;
@@ -29,8 +30,8 @@ impl From<TcpStream> for Connection {
         Self::new(
             local_addr,
             peer_addr,
-            Box::new(stream),
-            Box::new(write_stream),
+            Box::pin(stream),
+            Box::pin(write_stream),
         )
     }
 }