]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: mux-quic: implement immediate send retry
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 15 Apr 2022 15:32:04 +0000 (17:32 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 21 Apr 2022 10:04:04 +0000 (12:04 +0200)
commit1b2dba531d1f306ab544970cf73dcfe5049fb5d6
tree47875a84626509eaa401daefd766f07fffe49e8d
parentd2f80a2e63a119341cb0ab316c05707251c2c15b
MINOR: mux-quic: implement immediate send retry

Complete qc_send function. After having processed each qcs emission, it
will now retry send on qcs where transfer can continue. This is useful
when qc_stream_desc buffer is full and there is still data present in
qcs buf.

To implement this, each eligible qcs is inserted in a new list
<qcc.send_retry_list>. This is done on send notification from the
transport layer through qcc_streams_sent_done(). Retry emission until
send_retry_list is empty or the transport layer cannot proceed more
data.

Several send operations are now called on two different places. Thus a
new _qc_send_qcs() function is defined to factorize the code.

This change should maximize the throughput during QUIC transfers.
include/haproxy/mux_quic-t.h
include/haproxy/quic_stream.h
src/mux_quic.c
src/quic_stream.c