From 57d5715eb8a32185d3f005369eb45413a2685cb9 Mon Sep 17 00:00:00 2001 From: ospab Date: Thu, 28 May 2026 19:39:07 +0300 Subject: [PATCH] Fix E0728: cannot await inside or_else closure in relay.rs --- ostp-server/src/relay.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ostp-server/src/relay.rs b/ostp-server/src/relay.rs index 11fb81c..12bcbea 100644 --- a/ostp-server/src/relay.rs +++ b/ostp-server/src/relay.rs @@ -133,7 +133,11 @@ pub async fn handle_relay_message( if debug { let _ = ui_event_tx.send(UiEvent::Log(format!("Relay UDP ASSOCIATE stream_id={stream_id}"))); } - let server_udp = match UdpSocket::bind("[::]:0").await.or_else(|_| UdpSocket::bind("0.0.0.0:0").await) { + let udp_bind_result = match UdpSocket::bind("[::]:0").await { + Ok(s) => Ok(s), + Err(_) => UdpSocket::bind("0.0.0.0:0").await, + }; + let server_udp = match udp_bind_result { Ok(s) => std::sync::Arc::new(s), Err(e) => { let _ = ui_event_tx.send(UiEvent::Log(format!("UDP bind failed: {e}")));