]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic: refactor wait-for-handshake support
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 29 Nov 2024 15:18:12 +0000 (16:18 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 18 Dec 2024 08:23:41 +0000 (09:23 +0100)
commit0a53a008d032b69377869c8caaec38f81bdd5bd6
treece97d88466b1b0915758dd24e99115510d90cada
parent9dcd2369e210f617f738d68f6764ccc229309528
MINOR: mux-quic: refactor wait-for-handshake support

This commit refactors wait-for-handshake support from QUIC MUX. The flag
logic QC_CF_WAIT_HS is inverted : it is now positionned only if MUX is
instantiated before handshake completion. When the handshake is
completed, the flag is removed.

The flag is now set directly on initialization via qmux_init(). Removal
via qcc_wait_for_hs() is moved from qcc_io_process() to qcc_io_recv().
This is deemed more logical as QUIC MUX is scheduled on RECV to be
notify by the transport layer about handshake termination. Moreover,
qcc_wait_for_hs() is now called if recv subscription is still active.

This commit is the first of a serie which aims to refactor QUIC MUX I/O
handler and improves its overall performance. The ultimate objective is
to be able to stream qcc_io_cb() by removing pacing specific code path
via qcc_purge_sending().

This should be backported up to 3.1.
include/haproxy/mux_quic-t.h
src/mux_quic.c