From 2a85335ae5db33f2dc101ef6ab690bb12ae03a23 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Mon, 21 Sep 2026 13:40:37 -0700 Subject: [PATCH] fix(relay): match the uring driver's terminal error #3828 changed the worker driver to return `moq_net::Error` directly, but the io_uring accept path still pattern-matched a `Result`, so `just check` fails on Linux with the `io-uring` feature. Treat a clean close as silent and log any other terminal error, matching the WebSocket path. Closes #3848 Co-Authored-By: Claude Opus 5 --- rs/moq-relay/src/uring.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rs/moq-relay/src/uring.rs b/rs/moq-relay/src/uring.rs index 16eae650e9..653db13f3a 100644 --- a/rs/moq-relay/src/uring.rs +++ b/rs/moq-relay/src/uring.rs @@ -768,8 +768,9 @@ async fn serve_connection( let (session, driver) = request.ok().await?; let driver_handle = handle.clone(); handle.spawn(async move { - if let Err(err) = driver_handle.run(driver).await { - tracing::debug!(%err, "session driver ended"); + match driver_handle.run(driver).await { + moq_net::Error::Closed => {} + err => tracing::debug!(%err, "session driver ended"), } }); let node_connection = peer_hop.map(|origin| serve.cluster.nodes.connect_inbound(id, origin));