From 6643cf92083b449c5ca0db1029c49a749b5ffb21 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Perennou Date: Thu, 14 Jan 2021 12:25:33 +0100 Subject: [PATCH] downgrade socket2 to released 0.3 Signed-off-by: Marc-Antoine Perennou --- Cargo.toml | 2 +- src/lib.rs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d35e101..a693a4f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ categories = ["asynchronous", "network-programming", "os"] readme = "README.md" [dependencies] -socket2 = { version = "0.4.0-alpha.2", features = ["all"] } +socket2 = { version = "0.3.19", features = ["unix"] } [target."cfg(unix)".dependencies] libc = "0.2.77" diff --git a/src/lib.rs b/src/lib.rs index 01ebb55..43eff69 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -41,7 +41,7 @@ use socket2::{Domain, Protocol, SockAddr, Socket, Type}; use std::{os::unix::net::UnixStream, path::Path}; fn connect(addr: SockAddr, domain: Domain, protocol: Option) -> io::Result { - let sock_type = Type::STREAM; + let sock_type = Type::stream(); #[cfg(any( target_os = "android", target_os = "dragonfly", @@ -53,7 +53,7 @@ fn connect(addr: SockAddr, domain: Domain, protocol: Option) -> io::Re target_os = "openbsd" ))] // If we can, set nonblocking at socket creation for unix - let sock_type = sock_type.nonblocking(); + let sock_type = sock_type.non_blocking(); // This automatically handles cloexec on unix, no_inherit on windows and nosigpipe on macos let socket = Socket::new(domain, sock_type, protocol)?; #[cfg(not(any( @@ -108,7 +108,7 @@ fn connect(addr: SockAddr, domain: Domain, protocol: Option) -> io::Re /// ``` #[cfg(unix)] pub fn unix>(path: P) -> io::Result { - let socket = connect(SockAddr::unix(path)?, Domain::UNIX, None)?; + let socket = connect(SockAddr::unix(path)?, Domain::unix(), None)?; Ok(socket.into()) } @@ -144,7 +144,7 @@ pub fn unix>(path: P) -> io::Result { /// ``` pub fn tcp>(addr: A) -> io::Result { let addr = addr.into(); - let domain = Domain::for_address(addr); - let socket = connect(addr.into(), domain, Some(Protocol::TCP))?; + let domain = if addr.is_ipv6() { Domain::ipv6() } else { Domain::ipv4() }; + let socket = connect(addr.into(), domain, Some(Protocol::tcp()))?; Ok(socket.into()) }