From 849d827486c75b2ab223d7b0e638dbb5b74d4d1d Mon Sep 17 00:00:00 2001 From: hozan23 Date: Thu, 9 Nov 2023 11:38:19 +0300 Subject: rename crates --- karyons_net/src/connection.rs | 57 ------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 karyons_net/src/connection.rs (limited to 'karyons_net/src/connection.rs') diff --git a/karyons_net/src/connection.rs b/karyons_net/src/connection.rs deleted file mode 100644 index 518ccfd..0000000 --- a/karyons_net/src/connection.rs +++ /dev/null @@ -1,57 +0,0 @@ -use crate::{Endpoint, Result}; -use async_trait::async_trait; - -use crate::transports::{tcp, udp, unix}; - -/// Alias for `Box` -pub type Conn = Box; - -/// Connection is a generic network connection interface for -/// `UdpConn`, `TcpConn`, and `UnixConn`. -/// -/// If you are familiar with the Go language, this is similar to the `Conn` -/// interface -#[async_trait] -pub trait Connection: Send + Sync { - /// Returns the remote peer endpoint of this connection - fn peer_endpoint(&self) -> Result; - - /// Returns the local socket endpoint of this connection - fn local_endpoint(&self) -> Result; - - /// Reads data from this connection. - async fn recv(&self, buf: &mut [u8]) -> Result; - - /// Sends data to this connection - async fn send(&self, buf: &[u8]) -> Result; -} - -/// Connects to the provided endpoint. -/// -/// it only supports `tcp4/6`, `udp4/6` and `unix`. -/// -/// #Example -/// -/// ``` -/// use karyons_net::{Endpoint, dial}; -/// -/// async { -/// let endpoint: Endpoint = "tcp://127.0.0.1:3000".parse().unwrap(); -/// -/// let conn = dial(&endpoint).await.unwrap(); -/// -/// conn.send(b"MSG").await.unwrap(); -/// -/// let mut buffer = [0;32]; -/// conn.recv(&mut buffer).await.unwrap(); -/// }; -/// -/// ``` -/// -pub async fn dial(endpoint: &Endpoint) -> Result { - match endpoint { - Endpoint::Tcp(addr, port) => Ok(Box::new(tcp::dial_tcp(addr, port).await?)), - Endpoint::Udp(addr, port) => Ok(Box::new(udp::dial_udp(addr, port).await?)), - Endpoint::Unix(addr) => Ok(Box::new(unix::dial_unix(addr).await?)), - } -} -- cgit v1.2.3