From 40bc93497631c6e236a5d55557c0735458c5f377 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Sun, 10 May 2026 17:56:13 +0700 Subject: [PATCH] refactor(client): upgrade socket2 to 0.6 and use version-specific API --- Cargo.lock | 6 +++--- crates/irtt-client/Cargo.toml | 2 +- crates/irtt-client/src/socket_options.rs | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7dfc1f1..e4a46ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -316,12 +316,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.10" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys", ] [[package]] diff --git a/crates/irtt-client/Cargo.toml b/crates/irtt-client/Cargo.toml index ad50b7b..9682378 100644 --- a/crates/irtt-client/Cargo.toml +++ b/crates/irtt-client/Cargo.toml @@ -14,7 +14,7 @@ categories = ["network-programming"] [dependencies] irtt-proto.workspace = true libc = { version = "0.2", optional = true } -socket2 = { version = "0.5", features = ["all"] } +socket2 = { version = "0.6", features = ["all"] } thiserror = "2" [features] diff --git a/crates/irtt-client/src/socket_options.rs b/crates/irtt-client/src/socket_options.rs index f9fae26..283e87e 100644 --- a/crates/irtt-client/src/socket_options.rs +++ b/crates/irtt-client/src/socket_options.rs @@ -78,7 +78,7 @@ pub(crate) fn socket_ttl(socket: &UdpSocket, remote: SocketAddr) -> Result io::Result<()> { if remote.is_ipv4() { - socket2::SockRef::from(socket).set_ttl(ttl) + socket2::SockRef::from(socket).set_ttl_v4(ttl) } else { socket2::SockRef::from(socket).set_unicast_hops_v6(ttl) } @@ -87,7 +87,7 @@ fn set_socket_ttl(socket: &UdpSocket, remote: SocketAddr, ttl: u32) -> io::Resul #[cfg(test)] fn get_socket_ttl(socket: &UdpSocket, remote: SocketAddr) -> io::Result { if remote.is_ipv4() { - socket2::SockRef::from(socket).ttl() + socket2::SockRef::from(socket).ttl_v4() } else { socket2::SockRef::from(socket).unicast_hops_v6() } @@ -128,7 +128,7 @@ fn set_socket_traffic_class_io( target_os = "haiku", )))] fn set_ipv4_traffic_class(socket: &UdpSocket, traffic_class: u32) -> io::Result<()> { - socket2::SockRef::from(socket).set_tos(traffic_class) + socket2::SockRef::from(socket).set_tos_v4(traffic_class) } #[cfg(any( @@ -212,7 +212,7 @@ fn unsupported_traffic_class(traffic_class: u32, feature: &'static str) -> io::R )) ))] fn get_ipv4_traffic_class(socket: &UdpSocket) -> io::Result { - socket2::SockRef::from(socket).tos() + socket2::SockRef::from(socket).tos_v4() } #[cfg(all(