]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: quic: Send CONNECTION_CLOSE packets from a dedicated buffer.
authorFrédéric Lécaille <flecaille@haproxy.com>
Fri, 4 Aug 2023 15:59:28 +0000 (17:59 +0200)
committerFrédéric Lécaille <flecaille@haproxy.com>
Tue, 8 Aug 2023 08:57:00 +0000 (10:57 +0200)
commitdc9b8e1f278ed5584c7f9d7ff8133290515ed3dc
tree82b927d646d9c50514d5af6f5f6ae8048df8fed0
parentf7ab5918d1fb8d00ffd27db6cd3c53ae9b04e11b
MEDIUM: quic: Send CONNECTION_CLOSE packets from a dedicated buffer.

Add a new pool <pool_head_quic_cc_buf> for buffer used when building datagram
wich CONNECTION_CLOSE frames inside with QUIC_MIN_CC_PKTSIZE(128) as minimum
size.
Add ->cc_buf_area to quic_conn struct to store such buffers.
Add ->cc_dgram_len to store the size of the "connection close" datagrams
and ->cc_buf a buffer struct to be used with ->cc_buf_area as ->area member
value.
Implement qc_get_txb() to be called in place of qc_txb_alloc() to allocate
a struct "quic_cc_buf" buffer when the connection needs an immediate close
or a buffer struct if not.
Modify qc_prep_hptks() and qc_prep_app_pkts() to allow them to use such
"quic_cc_buf" buffer when an immediate close is required.
include/haproxy/quic_conn-t.h
include/haproxy/quic_tx-t.h
include/haproxy/quic_tx.h
src/quic_conn.c
src/quic_tx.c