]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: mux-quic: improve bidir STREAM frames sending
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 10 Mar 2022 15:45:53 +0000 (16:45 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 11 Mar 2022 10:37:31 +0000 (11:37 +0100)
commit6ccfa3c40fc665620a0639fbed727b04d05716d5
treeaa1f820cca485d0af5d278c7fdf570afcd2adad5
parent54445d04e4adb3e254033141020be7e55f2465e9
MEDIUM: mux-quic: improve bidir STREAM frames sending

The current implementation of STREAM frames emission has some
limitation. Most notably when we cannot sent all frames in a single
qc_send run.

In this case, frames are left in front of the MUX list. It will be
re-send individually before other frames, possibly another frame from
the same STREAM with new data. An opportunity to merge the frames is
lost here.

This method is now improved. If a frame cannot be send entirely, it is
discarded. On the next qc_send run, we retry to send to this position. A
new field qcs.sent_offset is used to remember this. A new frame list is
used for each qc_send.

The impact of this change is not precisely known. The most notable point
is that it is a more logical method of emission. It might also improve
performance as we do not keep old STREAM frames which might delay other
streams.
include/haproxy/mux_quic-t.h
src/mux_quic.c