MINOR: quic: adjust request reject when MUX is already freed
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 7 Feb 2023 13:24:54 +0000 (14:24 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 20 Feb 2023 09:52:05 +0000 (10:52 +0100)
commit38836b6b3da227ee9be2f32632215578bcd61b55
tree0cce9120d9bc41086985b1bb9ec7e2a7ec1b6c72
parent5faf577997314bcfbc25c8eef35b682058d2a999
MINOR: quic: adjust request reject when MUX is already freed

When the MUX is freed, the quic-conn layer may stay active until all
streams acknowledgment are processed. In this interval, if a new stream
is opened by the client, the quic-conn is thus now responsible to handle
it. This is done by the emission of a STOP_SENDING.

This process is closely related to HTTP/3 protocol despite being handled
by the quic-conn layer. This highlights a flaw in our QUIC architecture
which should be adjusted. To reflect this situation, the function
qc_stop_sending_frm_enqueue() is renamed qc_h3_request_reject(). Also,
internal H3 treatment such as uni-directional bypass has been moved
inside the function.

This commit is only a refactor. However, bug fix on next patches will
rely on it so it should be backported up to 2.6.
src/quic_conn.c