diff --git a/msg-common/src/lib.rs b/msg-common/src/lib.rs index 1225f5e..f7e4b94 100644 --- a/msg-common/src/lib.rs +++ b/msg-common/src/lib.rs @@ -3,7 +3,6 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] use std::{ - io, pin::Pin, task::{Context, Poll}, time::SystemTime, @@ -35,11 +34,6 @@ pub fn async_error( Box::pin(async move { Err(e) }) } -/// Creates a new [`io::Error`] with the given message. -pub fn io_error(msg: impl Into) -> io::Error { - io::Error::new(io::ErrorKind::Other, msg.into()) -} - #[allow(non_upper_case_globals)] pub mod constants { pub const KiB: u32 = 1024; diff --git a/msg-transport/src/lib.rs b/msg-transport/src/lib.rs index 9e65a4b..2419f3a 100644 --- a/msg-transport/src/lib.rs +++ b/msg-transport/src/lib.rs @@ -3,13 +3,12 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] use futures::{Future, FutureExt}; -use msg_common::io_error; use std::{ fmt::Debug, hash::Hash, io, marker::PhantomData, - net::{SocketAddr, ToSocketAddrs}, + net::SocketAddr, path::PathBuf, pin::Pin, task::{Context, Poll}, @@ -29,64 +28,6 @@ impl Address for SocketAddr {} /// File system path, used for IPC transport. impl Address for PathBuf {} -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub enum AddressType { - SocketAddr(SocketAddr), - PathBuf(PathBuf), -} - -impl From for AddressType { - fn from(addr: SocketAddr) -> Self { - AddressType::SocketAddr(addr) - } -} - -impl From for AddressType { - fn from(path: PathBuf) -> Self { - AddressType::PathBuf(path) - } -} - -impl TryFrom<&str> for AddressType { - type Error = io::Error; - - fn try_from(value: &str) -> Result { - let s = value.to_string(); - if s.contains(':') { - // try to parse as socket address - let addr = s - .parse::() - .map_err(|_| io_error("invalid socket address"))?; - - Ok(AddressType::SocketAddr(addr)) - } else { - // try to parse as path - let path = PathBuf::from(s); - Ok(AddressType::PathBuf(path)) - } - } -} - -impl ToSocketAddrs for AddressType { - type Iter = std::vec::IntoIter; - - fn to_socket_addrs(&self) -> io::Result { - match self { - AddressType::SocketAddr(addr) => Ok(vec![*addr].into_iter()), - AddressType::PathBuf(_) => Err(io_error("path is not a valid socket address")), - } - } -} - -impl From for PathBuf { - fn from(val: AddressType) -> Self { - match val { - AddressType::SocketAddr(_) => panic!("socket address is not a valid path"), - AddressType::PathBuf(path) => path, - } - } -} - /// A transport provides connection-oriented communication between two peers through /// ordered and reliable streams of bytes. ///