]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: mux-quic: adjust wakeup behavior
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 3 Jun 2025 15:18:30 +0000 (17:18 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 12 Jun 2025 09:12:49 +0000 (11:12 +0200)
commit044ad3a602d7b217ec1470f06ec15bca102ff685
tree9448299e248dd757f99cee65e5dee0ec79675bdb
parent2c3f3eaaed505b6d9781282f571c18b25a06e1cf
BUG/MEDIUM: mux-quic: adjust wakeup behavior

Change wake callback behavior for QUIC MUX. This operation loops over
each QCS and notify their stream data layer on certain events via
internal helper qcc_wake_some_streams().

Previously, streams were notified only if an error occured on the
connection. Change this to notify streams data layer everytime wake
callback is used. This behavior is now identical to H2 MUX.

qcc_wake_some_streams() is also renamed to qcc_wake_streams(), as it
better reflect its true behavior.

This change should not have performance impact as wake mux ops should
not be called frequently. Note that qcc_wake_streams() can also be
called directly via qcc_io_process() to ensure a new error is correctly
propagated. As wake callback first uses qcc_io_process(), it will only
call qcc_wake_streams() if no error is present.

No known issue is associated with this commit. However, it could prevent
freezing transfer under certain condition. As such, it is considered as
a bug fix worthy of backporting.

This should be backported after a period of observation.
src/mux_quic.c