MINOR: qmux: change API for snd_buf FIN transmission
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 10 Jul 2025 13:27:23 +0000 (15:27 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 26 Aug 2025 06:38:05 +0000 (08:38 +0200)
commitea3cf3af3554c31213e0b72e99e3b9bf3bd4803e
treea93416ae28359146139a11ed9c872c0796f4efb9
parent53e0aec26e6636b8a4ad50112e9ddea2f823f015
MINOR: qmux: change API for snd_buf FIN transmission

Previous patches have fixes interim response encoding via
h3_resp_headers_send(). However, it is still necessary to adjust h3
layer state-machine so that several successive HTTP responses are
accepted for a single stream.

Prior to this, QMUX was responsible to decree that the final HTX message
was encoded so that FIN stream can be emitted. However, with interim
response, MUX is in fact unable to properly determine this. As such,
this is the responsibility of the application protocol layer. To reflect
this, app_ops snd_buf callback is modified so that a new output argument
<fin> is added to it.

Note that for now this commit does not bring any functional change.
However, it will be necessary for the following patch. As such, it
should be backported prior to it to every versions as necessary.

(cherry picked from commit f349df44b4e21d8bf9b575a0aa869056a2ebaa58)
[ad: fix context due to mising comment on h3_snd_buf]
Signed-off-by: Amaury Denoyelle <adenoyelle@haproxy.com>
(cherry picked from commit 96896b408d0fb0b45e5ebf59cc74a5a5c2b03dc9)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
include/haproxy/mux_quic-t.h
src/h3.c
src/hq_interop.c
src/qmux_http.c