MINOR: quic: define quic_pacing module

This commit is contained in:
Amaury Denoyelle 2024-10-24 15:53:17 +02:00
parent 1f2c8286a7
commit 2613193033
7 changed files with 28 additions and 1 deletions

View File

@ -652,7 +652,7 @@ OPTIONS_OBJS += src/quic_rx.o src/mux_quic.o src/h3.o src/quic_tx.o \
src/cfgparse-quic.o src/qmux_trace.o src/qpack-enc.o \
src/qpack-tbl.o src/h3_stats.o src/quic_stats.o \
src/quic_fctl.o src/cbuf.o src/quic_rules.o \
src/quic_token.o
src/quic_token.o src/quic_pacing.o
endif
ifneq ($(USE_QUIC_OPENSSL_COMPAT:0=),)

View File

@ -15,6 +15,7 @@
#include <haproxy/ncbuf-t.h>
#include <haproxy/quic_fctl-t.h>
#include <haproxy/quic_frame-t.h>
#include <haproxy/quic_pacing-t.h>
#include <haproxy/quic_stream-t.h>
#include <haproxy/stconn-t.h>
#include <haproxy/time-t.h>
@ -68,6 +69,7 @@ struct qcc {
struct {
struct quic_fctl fc; /* stream flow control applied on sending */
uint64_t buf_in_flight; /* sum of currently allocated Tx buffer sizes */
struct quic_pacer pacer;
} tx;
uint64_t largest_bidi_r; /* largest remote bidi stream ID opened. */

View File

@ -45,6 +45,7 @@
#include <haproxy/quic_enc.h>
#include <haproxy/quic_frame.h>
#include <haproxy/quic_loss.h>
#include <haproxy/quic_pacing.h>
#include <haproxy/quic_rx.h>
#include <haproxy/mux_quic.h>

View File

@ -0,0 +1,10 @@
#ifndef _HAPROXY_QUIC_PACING_T_H
#define _HAPROXY_QUIC_PACING_T_H
#include <haproxy/quic_cc-t.h>
struct quic_pacer {
const struct quic_cc_path *path;
};
#endif /* _HAPROXY_QUIC_PACING_T_H */

View File

@ -0,0 +1,12 @@
#ifndef _HAPROXY_QUIC_PACING_H
#define _HAPROXY_QUIC_PACING_H
#include <haproxy/quic_pacing-t.h>
static inline void quic_pacing_init(struct quic_pacer *pacer,
const struct quic_cc_path *path)
{
pacer->path = path;
}
#endif /* _HAPROXY_QUIC_PACING_H */

View File

@ -2875,6 +2875,7 @@ static int qmux_init(struct connection *conn, struct proxy *prx,
qcc->rfctl.msd_uni_l = rparams->initial_max_stream_data_uni;
qcc->tx.buf_in_flight = 0;
quic_pacing_init(&qcc->tx.pacer, conn->handle.qc->path);
if (conn_is_back(conn)) {
qcc->next_bidi_l = 0x00;

1
src/quic_pacing.c Normal file
View File

@ -0,0 +1 @@
#include <haproxy/quic_pacing.h>