MINOR: quic: Make use of TX ring buffers to send QUIC packets
authorFrédéric Lécaille <flecaille@haproxy.com>
Tue, 6 Jul 2021 14:35:52 +0000 (16:35 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Sep 2021 13:27:25 +0000 (15:27 +0200)
commitc5b0c93c263b01b440395b29b4c875183acaedfd
tree278633c139a29f74498eda9b3808a8fe618fd916
parent6b19764e3cbb0339938e9a6adeec4349ab00510f
MINOR: quic: Make use of TX ring buffers to send QUIC packets

We modify the functions responsible of building packets to put these latters
in ring buffers (qc_build_hdshk_pkt() during the handshake step, and
qc_build_phdshk_apkt() during the post-handshake step). These functions
remove a ring buffer from its list to build as much as possible datagrams.
Eache datagram is prepended of two field: the datagram length and the
first packet in the datagram. We chain the packets belonging to the same datagram
in a singly linked list to reach them from the first one: indeed we must
modify some members of each packet when we really send them from send_ppkts().
This function is also modified to retrieved the datagram from ring buffers.
include/haproxy/xprt_quic-t.h
src/xprt_quic.c