From 2df59ae5962398e1342354c0036d56abfe964f00 Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Wed, 10 Apr 2024 11:26:34 +0800 Subject: [PATCH] UDP read time out case --- src/lib.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 71f8298..59bc4b9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -329,7 +329,14 @@ where async fn handle_virtual_dns_session(mut udp: IpStackUdpStream, dns: Arc>) -> crate::Result<()> { let mut buf = [0_u8; 4096]; loop { - let len = udp.read(&mut buf).await?; + let len = match udp.read(&mut buf).await { + Err(e) => { + // indicate UDP read fails not an error. + log::debug!("Virtual DNS session error: {}", e); + break; + } + Ok(len) => len, + }; if len == 0 { break; }