From ddabf5756c59dcb14448433b0d3a2c2df20b3844 Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Wed, 11 Sep 2024 10:09:42 +0200 Subject: [PATCH] Fix? --- neqo-transport/src/recovery/mod.rs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/neqo-transport/src/recovery/mod.rs b/neqo-transport/src/recovery/mod.rs index 6be088e6e8..4c0e3c6753 100644 --- a/neqo-transport/src/recovery/mod.rs +++ b/neqo-transport/src/recovery/mod.rs @@ -829,18 +829,16 @@ impl LossRecovery { // The spaces in which we will allow probing. let mut allow_probes = PacketNumberSpaceSet::default(); for pn_space in PacketNumberSpace::iter() { - if self - .pto_time(path.borrow().rtt(), *pn_space) - .map_or(true, |t| now < t) - { - continue; + if let Some(t) = self.pto_time(path.borrow().rtt(), *pn_space) { + allow_probes[*pn_space] = true; + if t <= now { + qdebug!([self], "PTO timer fired for {}", pn_space); + let space = self.spaces.get_mut(*pn_space).unwrap(); + lost.extend(space.pto_packets().cloned()); + + pto_space = pto_space.or(Some(*pn_space)); + } } - allow_probes[*pn_space] = true; - qdebug!([self], "PTO timer fired for {}", pn_space); - let space = self.spaces.get_mut(*pn_space).unwrap(); - lost.extend(space.pto_packets().cloned()); - - pto_space = pto_space.or(Some(*pn_space)); } // This has to happen outside the loop. Increasing the PTO count here causes the