diff --git a/easytier/src/tunnel/common.rs b/easytier/src/tunnel/common.rs index 4ead8827..71e8f447 100644 --- a/easytier/src/tunnel/common.rs +++ b/easytier/src/tunnel/common.rs @@ -495,14 +495,16 @@ pub(crate) mod tests { let (mut r, _s) = ret.split(); let now = Instant::now(); let mut count = 0; + let warmup = std::time::Duration::from_secs(1); while let Some(Ok(p)) = r.next().await { + let elapsed = now.elapsed(); + if elapsed < warmup { + continue; + } count += p.payload_len(); - let elapsed_sec = now.elapsed().as_secs(); - if elapsed_sec > 0 { - bps_clone.store( - count as u64 / now.elapsed().as_secs(), - std::sync::atomic::Ordering::Relaxed, - ); + let elapsed = (elapsed - warmup).as_secs(); + if elapsed >= 1 { + bps_clone.store(count as u64 / elapsed, std::sync::atomic::Ordering::Relaxed); } } });