]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: mux-quic: implement API to ignore txbuf limit for some streams
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 19 Aug 2024 08:22:02 +0000 (10:22 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 20 Aug 2024 15:17:17 +0000 (17:17 +0200)
commit4c4bf26f441a3026e2ce45492096eafdb0493eef
treeee2c05269d20372e54b247244ed1cd26ae4ff910
parentf4d1bd0b7676e39c20bfe609d32f0da021c4aba7
MEDIUM: mux-quic: implement API to ignore txbuf limit for some streams

Define a new qc_stream_desc flag QC_SD_FL_OOB_BUF. This is to mark
streams which are not subject to the connection limit on allocated MUX
stream buffer.

The purpose is to simplify handling of QUIC MUX streams which do not
transfer data and as such are not driven by haproxy layer, for example
HTTP/3 control stream. These streams interacts synchronously with QUIC
MUX and cannot retry emission in case of temporary failure.

This commit will be useful once connection buffer allocation limit is
reimplemented to directly rely on the congestion window size. This will
probably cause the buffer limit to be reached more frequently, maybe
even on QUIC MUX initialization. As such, it will be possible to mark
control streams and prevent them to be subject to the buffer limit.

QUIC MUX expose a new function qcs_send_metadata(). It can be used by an
application protocol to specify which streams are used for control
exchanges. For the moment, no such stream use this mechanism.
include/haproxy/mux_quic.h
include/haproxy/quic_stream-t.h
src/mux_quic.c
src/quic_stream.c