From 3a31fa69595d0e1e3262d5b3032d66f3cce96fb5 Mon Sep 17 00:00:00 2001 From: Zhang San <52621825+zhangsan946@users.noreply.github.com> Date: Mon, 16 Jun 2025 18:35:28 +0800 Subject: [PATCH] feat: impl AsRawFd and AsFd for UdpSocket (#1971) Signed-off-by: San Zhang --- crates/shadowsocks/src/net/udp.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crates/shadowsocks/src/net/udp.rs b/crates/shadowsocks/src/net/udp.rs index 41c6ec71..eddec28f 100644 --- a/crates/shadowsocks/src/net/udp.rs +++ b/crates/shadowsocks/src/net/udp.rs @@ -408,3 +408,17 @@ impl From for tokio::net::UdpSocket { s.socket } } + +#[cfg(unix)] +impl std::os::fd::AsRawFd for UdpSocket { + fn as_raw_fd(&self) -> std::os::fd::RawFd { + self.socket.as_raw_fd() + } +} + +#[cfg(unix)] +impl std::os::fd::AsFd for UdpSocket { + fn as_fd(&self) -> std::os::fd::BorrowedFd<'_> { + self.socket.as_fd() + } +}