diff --git a/include/haproxy/xprt_quic-t.h b/include/haproxy/xprt_quic-t.h index 15b3bb87f..1e19c38f6 100644 --- a/include/haproxy/xprt_quic-t.h +++ b/include/haproxy/xprt_quic-t.h @@ -225,7 +225,11 @@ enum quic_pkt_type { (void) (&_a == &_b); \ _a > _b ? _a : _b; }) +/* Size of the internal buffer of QUIC TX ring buffers (must be a power of 2) */ +#define QUIC_TX_RING_BUFSZ (1UL << 12) + extern struct trace_source trace_quic; +extern struct pool_head *pool_head_quic_tx_ring; extern struct pool_head *pool_head_quic_rx_packet; extern struct pool_head *pool_head_quic_tx_packet; extern struct pool_head *pool_head_quic_frame; diff --git a/src/xprt_quic.c b/src/xprt_quic.c index ddffd10de..cfd8a6877 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -130,6 +130,7 @@ INITCALL1(STG_REGISTER, trace_register_source, TRACE_SOURCE); static BIO_METHOD *ha_quic_meth; +DECLARE_POOL(pool_head_quic_tx_ring, "quic_tx_ring_pool", QUIC_TX_RING_BUFSZ); DECLARE_STATIC_POOL(pool_head_quic_conn_ctx, "quic_conn_ctx_pool", sizeof(struct ssl_sock_ctx)); DECLARE_STATIC_POOL(pool_head_quic_conn, "quic_conn", sizeof(struct quic_conn));