aboutsummaryrefslogtreecommitdiff
path: root/net/src/transports/tcp.rs
diff options
context:
space:
mode:
authorhozan23 <hozan23@proton.me>2024-03-13 03:35:09 +0100
committerhozan23 <hozan23@proton.me>2024-03-13 03:35:09 +0100
commit76e952830302271e07a4be9df6dfaa1c11e3e675 (patch)
tree41202b50d07821caeee8fc2332bf9b5cc0f5f413 /net/src/transports/tcp.rs
parent5f403823fa3c2ef0c85dd81fe3601d084d0067e5 (diff)
net: pass `Endpoint` to dial and listen functions
Diffstat (limited to 'net/src/transports/tcp.rs')
-rw-r--r--net/src/transports/tcp.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/net/src/transports/tcp.rs b/net/src/transports/tcp.rs
index 99243b5..af50c10 100644
--- a/net/src/transports/tcp.rs
+++ b/net/src/transports/tcp.rs
@@ -1,5 +1,6 @@
-use async_trait::async_trait;
+use std::net::SocketAddr;
+use async_trait::async_trait;
use smol::{
io::{split, AsyncReadExt, AsyncWriteExt, ReadHalf, WriteHalf},
lock::Mutex,
@@ -8,7 +9,7 @@ use smol::{
use crate::{
connection::{Connection, ToConn},
- endpoint::{Addr, Endpoint, Port},
+ endpoint::Endpoint,
listener::{ConnListener, ToListener},
Error, Result,
};
@@ -70,17 +71,17 @@ impl ConnListener for TcpListener {
}
/// Connects to the given TCP address and port.
-pub async fn dial_tcp(addr: &Addr, port: &Port) -> Result<TcpConn> {
- let address = format!("{}:{}", addr, port);
- let conn = TcpStream::connect(address).await?;
+pub async fn dial_tcp(endpoint: &Endpoint) -> Result<TcpConn> {
+ let addr = SocketAddr::try_from(endpoint.clone())?;
+ let conn = TcpStream::connect(addr).await?;
conn.set_nodelay(true)?;
Ok(TcpConn::new(conn))
}
/// Listens on the given TCP address and port.
-pub async fn listen_tcp(addr: &Addr, port: &Port) -> Result<TcpListener> {
- let address = format!("{}:{}", addr, port);
- let listener = TcpListener::bind(address).await?;
+pub async fn listen_tcp(endpoint: &Endpoint) -> Result<TcpListener> {
+ let addr = SocketAddr::try_from(endpoint.clone())?;
+ let listener = TcpListener::bind(addr).await?;
Ok(listener)
}