Commit Graph

13 Commits

Author SHA1 Message Date
Marten Seemann
f07d6939d0 congestion: avoid overflows when calculating pacer budget (#5390)
* congestion: prevent uint64 overflow in pacer

This should never happen for bandwidths even remotely possible in
real-world scenarios, but it’s better to be safe.

* congestion: add a benchmark test for the pacer

* add a comment
2025-10-17 07:30:07 +02:00
Marten Seemann
adc13be540 implement a memory-optimized time.Time replacement (#5334)
* implement a memory-optimized time.Time replacement

* monotime: properly handle systems with bad timer resolution (Windows)

* monotime: simplify Since
2025-09-14 08:12:10 +02:00
Marten Seemann
267cca773b switch from math/rand to math/rand/v2 (#5045)
* switch from math/rand to math/rand/v2

* switch away from golang.org/x/exp/rand
2025-04-19 09:01:22 +02:00
Marten Seemann
c63c4e6990 congestion: migrate the pacer tests away from Ginkgo (#4929) 2025-01-26 09:14:03 +01:00
Marten Seemann
f23da7da47 congestion: don't use floating point math when calculating pacing times (#4148) 2023-10-31 02:21:42 -07:00
Marten Seemann
94829edf35 congestion: fix overflow when calculating the pacing budget (#3796) 2023-05-01 05:32:20 -07:00
Marten Seemann
58cedf7a4f rename module, adjust import paths to quic-go/quic-go (#3680) 2023-01-21 19:53:57 -08:00
Marten Seemann
870fbe7ab0 migrate to Ginkgo v2 2022-10-11 16:38:44 +04:00
Marten Seemann
91a314258d use the actual maximum packet size in the pacer 2021-03-03 12:00:14 +08:00
Marten Seemann
fda00fe1cd use a slightly higher bandwidth for the pacer 2020-06-22 14:31:37 +07:00
Marten Seemann
312b8d37f0 use a callback to pass the bandwidth to the pacer 2020-06-22 14:31:37 +07:00
Marten Seemann
467e553f2b limit the pacing duration to the minimum pacing delay 2020-06-22 14:31:37 +07:00
Marten Seemann
4163c255e8 implement a basic token bucket pacing algoritm 2020-06-22 14:31:37 +07:00