]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: remove <mux_state> field quic-interop
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 5 Nov 2025 10:52:12 +0000 (11:52 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 5 Nov 2025 13:03:34 +0000 (14:03 +0100)
commitb9809fe0d0dd447a8452324b49a28271ca4e8d59
treef0e52e0e003a95f3ead98de4f6014c6554fab9fc
parent99a2454e9d894d22bee407e5686a9c74d4bf87f2
MINOR: quic: remove <mux_state> field

This patch removes <mux_state> field from quic_conn structure. The
purpose of this field was to indicate if MUX layer above quic_conn is
not yet initialized, active, or already released.

It became tedious to properly set it as initialization order of the
various quic_conn/conn/MUX layers now differ between the frontend and
backend sides, and also depending if 0-RTT is used or not. Recently, a
new change introduced in connect_server() will allow to initialize QUIC
MUX earlier if ALPN is cached on the server structure. This had another
level of complexity.

Thus, this patch removes <mux_state> field completely. Instead, a new
flag QUIC_FL_CONN_XPRT_CLOSED is defined. It is set at a single place
only on close XPRT callback invokation. It can be mixed with the new
utility functions qc_wait_for_conn()/qc_is_conn_ready() to determine the
status of conn/MUX layers now without an extra quic_conn field.
include/haproxy/quic_conn-t.h
include/haproxy/quic_conn.h
src/quic_cli.c
src/quic_conn.c
src/quic_rx.c
src/quic_ssl.c
src/quic_tx.c
src/xprt_quic.c