]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic: define a flow control related type
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 3 Jan 2024 15:14:52 +0000 (16:14 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 31 Jan 2024 15:28:54 +0000 (16:28 +0100)
commit25493ca036a433460c2c0da04a3997e42243bf82
treee858b0b372cd24c4c4354286dcabf96615c5941f
parentf32c08be340953ae3aaa4f866d111c927aa1422a
MINOR: mux-quic: define a flow control related type

Create a new module dedicated to flow control handling. It will be used
to implement earlier flow control update on snd_buf stream callback.

For the moment, only Tx part is implemented (i.e. limit set by the peer
that haproxy must respect for sending). A type quic_fctl is defined to
count emitted data bytes. Two offsets are used : a real one and a soft
one. The difference is that soft offset can be incremented beyond limit
unless it is already in excess.

Soft offset will be used for HTX to H3 parsing. As size of generated H3
is unknown before parsing, it allows to surpass the limit one time. Real
offset will be used during STREAM frame generation : this time the limit
must not be exceeded to prevent protocol violation.
Makefile
include/haproxy/quic_fctl-t.h [new file with mode: 0644]
include/haproxy/quic_fctl.h [new file with mode: 0644]
src/quic_fctl.c [new file with mode: 0644]