MINOR: quic: Make use of buffer structs to handle STREAM frames
authorFrédéric Lécaille <flecaille@haproxy.com>
Fri, 10 Sep 2021 07:13:39 +0000 (09:13 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Sep 2021 13:27:25 +0000 (15:27 +0200)
commit785d3bdedc0713481d68b3a14375e3e6d085e769
tree6a618762915a53493e78115bf09a4ef047a1d22b
parentc7860007cc967b1e30fe9ba01ceb188ae7747f9d
MINOR: quic: Make use of buffer structs to handle STREAM frames

The STREAM data to send coming from the upper layer must be stored until
having being acked by the peer. To do so, we store them in buffer structs,
one by stream (see qcs.tx.buf). Each time a STREAM is built by quic_push_frame(),
its offset must match the offset of the first byte added to the buffer (modulo
the size of the buffer) by the frame. As they are not always acknowledged in
order, they may be stored in eb_trees ordered by their offset to be sure
to sequentially delete the STREAM data from their buffer, in the order they
have been added to it.
include/haproxy/mux_quic-t.h
include/haproxy/quic_frame-t.h
include/haproxy/quic_frame.h
src/mux_quic.c
src/quic_frame.c
src/xprt_quic.c