]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: refactor STREAM room notification
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 25 Sep 2024 16:25:08 +0000 (18:25 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 1 Oct 2024 14:19:25 +0000 (16:19 +0200)
commitdb68f8ed8604c5865cc044f577629b1d75df4153
tree1e73669b12b6dc9ff2470e2d1ec853a729a991a1
parentd7f4e5abf0b7129329d0ea716c104474fd934bc6
MINOR: quic: refactor STREAM room notification

qc_stream_desc is an intermediary layer between QUIC MUX and quic_conn.
It is a facility which permits to store data to emit and keep them for
retransmission until acknowledgment. This layer is responsible to notify
QUIC MUX each time a buffer is freed. This is necessary as MUX buffer
allocation is limited by the underlying congestion window size.

Refactor this to use a mechanism similar to send notification. A new
callback notify_room can now be registered to qc_stream_desc instance.
This is set by QUIC MUX to qmux_ctrl_room(). On MUX QUIC free, special
care is now taken to reset notify_room callback to NULL.

Thanks to this refactoring, further adjustment have been made to refine
the architecture. One of them is the removal of qc_stream_desc
QC_SD_FL_OOB_BUF, which is now converted to a MUX layer flag
QC_SF_TXBUF_OOB.
include/haproxy/mux_quic-t.h
include/haproxy/quic_stream-t.h
include/haproxy/quic_stream.h
src/mux_quic.c
src/quic_stream.c
src/quic_tls.c