mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-30 14:58:21 +00:00
The windowed filters are used only the BBR implementation for QUIC to filter the maximum bandwidth samples for its estimation over a virtual time interval tracked by counting the cyclical progression through ProbeBW cycles. ngtcp2 and quiche use such windowed filters in their BBR implementation. But in a slightly different way. When updating the 2nd or 3rd filter samples, this is done based on their values in place of the time they have been sampled. It seems more logical to rely on the sample timestamps even if this has no implication because when a sample is updated using another sample because it has the same value, they have both the same timestamps! This patch modifies two statements which compare two consecutive filter samples based on their values (smp[]->v) by statements which compare them based on the virtual time they have been sampled (smp[]->t). This fully complies which the code used by the Linux kernel in lib/win_minmax.c. Alo take the opportunity of this patch to shorten some statements using <smp> local variable value to update smp[2] sample in place of initializing its two members with the <smp> member values. This patch SHOULD be easily backported to 3.1 where BBR was first implemented. |
||
---|---|---|
.. | ||
haproxy | ||
import | ||
make |