From cd5c60ce1e7a33cb4bca46f032a1c98b4e9f7c89 Mon Sep 17 00:00:00 2001 From: Alexey <247128645+axkurcom@users.noreply.github.com> Date: Sun, 8 Mar 2026 03:03:35 +0300 Subject: [PATCH] Update reader.rs --- src/transport/middle_proxy/reader.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/transport/middle_proxy/reader.rs b/src/transport/middle_proxy/reader.rs index 61bd69c..32de774 100644 --- a/src/transport/middle_proxy/reader.rs +++ b/src/transport/middle_proxy/reader.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::io::ErrorKind; use std::sync::Arc; -use std::sync::atomic::{AtomicBool, Ordering}; +use std::sync::atomic::{AtomicBool, AtomicU32, Ordering}; use std::time::Instant; use bytes::{Bytes, BytesMut}; @@ -34,6 +34,7 @@ pub(crate) async fn reader_loop( stats: Arc, _writer_id: u64, degraded: Arc, + writer_rtt_ema_ms_x10: Arc, cancel: CancellationToken, ) -> Result<()> { let mut raw = enc_leftover; @@ -208,6 +209,8 @@ pub(crate) async fn reader_loop( } let degraded_now = entry.1 > entry.0 * 2.0; degraded.store(degraded_now, Ordering::Relaxed); + writer_rtt_ema_ms_x10 + .store((entry.1 * 10.0).clamp(0.0, u32::MAX as f64) as u32, Ordering::Relaxed); trace!(writer_id = wid, rtt_ms = rtt, ema_ms = entry.1, base_ms = entry.0, degraded = degraded_now, "ME RTT sample"); } } else {