]> git.kaiwu.me - haproxy.git/commit
MINOR: quic/h3: reorganize stream reject after MUX closure
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 3 Mar 2026 08:41:26 +0000 (09:41 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 3 Mar 2026 15:19:13 +0000 (16:19 +0100)
commit4120faf2898f73da15def2c4d2b008a0331f4818
treeeffceb6ba49011579a43cee5ea3cb2d95b0ca0bc
parent58830990d028bdccf22f0e34142cc90bb7a9c153
MINOR: quic/h3: reorganize stream reject after MUX closure

The QUIC MUX layer is closed after its transport counterpart. This may
be necessary then to reject any new streams opened by the remote peer.
This operation is dependent however from the application protocol.

Previously, a function qc_h3_request_reject() was directly implemented
in quic_conn source file for use when HTTP/3 was previously negotiated.
However, this solution was not evolutive and broke layering.

This patch introduces a new proper separation with a <strm_reject>
callback defined in quic_conn structure. When set, it will be used to
preemptively close any new stream. QUIC MUX is responsible to set it
just before its closure.

No functional change. This patch is purely a refactoring with a better
architecture design. Especially, H3 specific code from transport layer
is now completely removed.
include/haproxy/mux_quic-t.h
include/haproxy/quic_conn-t.h
src/h3.c
src/mux_quic.c
src/quic_conn.c
src/quic_rx.c