]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic/h3: support temporary blocking on control stream sending
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 18 Feb 2025 15:14:19 +0000 (16:14 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 19 Feb 2025 10:08:02 +0000 (11:08 +0100)
commita7645d7cd5e99e09e0626c5e5bbe8ad455454419
treedd3bd796b13a5dfe51d29a657b26b7f3f64c029a
parent06e7674399efa5c3c2a3a355d132bb656c6adea8
MINOR: mux-quic/h3: support temporary blocking on control stream sending

When HTTP/3 layer is initialized via QUIC MUX, it first emits a SETTINGS
frame on an unidirectional control stream. However, this could be
prevented if client did not provide initial flow control.

Previously, QUIC MUX was unable to deal with such situation. Thus, the
connection was closed immediately and no transfer could occur. Improve
this by extending QUIC MUX application layer API : initialization may
now return a transient error. This allows MUX to continue to use the
connection normally. Initialization will be retried periodically alter
until it can succeed.

This new API allows to deal with the flow control issue described above.
Note that this patch is not considered as a bug fix. Indeed, clients are
strongly advised to provide enough flow control for a SETTINGS frame
exchange.
src/h3.c
src/mux_quic.c