From 4259730938bbc94731c6c5c0eb764c0dbf390289 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sun, 9 Mar 2025 16:30:23 -0400 Subject: [PATCH] Prioritize writing over reading in tokio::select! --- src/main.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index eca7ffa..95da1e7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -214,15 +214,16 @@ impl<'a> ConnDuplex<'a> { loop { tokio::select! { biased; + + res = self.downstream_write.dequeue_write() => res?, + res = self.upstream_write.dequeue_write() => res?, + msg = self.upstream_read.read() => { control_flow!(self.handle_s2c_event(msg?).await?); } - res = self.downstream_write.dequeue_write() => res?, - msg = self.downstream_read.read() => { control_flow!(self.handle_c2s_request(msg?).await?); } - res = self.upstream_write.dequeue_write() => res?, } }