Skip to content

Commit 906e5ef

Browse files
a-denoyellehaproxyFred
authored andcommitted
MINOR: quic: define quic_pacing module
1 parent 5133fd2 commit 906e5ef

File tree

7 files changed

+28
-1
lines changed

7 files changed

+28
-1
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ OPTIONS_OBJS += src/quic_rx.o src/mux_quic.o src/h3.o src/quic_tx.o \
652652
src/cfgparse-quic.o src/qmux_trace.o src/qpack-enc.o \
653653
src/qpack-tbl.o src/h3_stats.o src/quic_stats.o \
654654
src/quic_fctl.o src/cbuf.o src/quic_rules.o \
655-
src/quic_token.o
655+
src/quic_token.o src/quic_pacing.o
656656
endif
657657
658658
ifneq ($(USE_QUIC_OPENSSL_COMPAT:0=),)

include/haproxy/mux_quic-t.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <haproxy/ncbuf-t.h>
1616
#include <haproxy/quic_fctl-t.h>
1717
#include <haproxy/quic_frame-t.h>
18+
#include <haproxy/quic_pacing-t.h>
1819
#include <haproxy/quic_stream-t.h>
1920
#include <haproxy/stconn-t.h>
2021
#include <haproxy/time-t.h>
@@ -68,6 +69,7 @@ struct qcc {
6869
struct {
6970
struct quic_fctl fc; /* stream flow control applied on sending */
7071
uint64_t buf_in_flight; /* sum of currently allocated Tx buffer sizes */
72+
struct quic_pacer pacer;
7173
} tx;
7274

7375
uint64_t largest_bidi_r; /* largest remote bidi stream ID opened. */

include/haproxy/quic_conn.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
#include <haproxy/quic_enc.h>
4646
#include <haproxy/quic_frame.h>
4747
#include <haproxy/quic_loss.h>
48+
#include <haproxy/quic_pacing.h>
4849
#include <haproxy/quic_rx.h>
4950
#include <haproxy/mux_quic.h>
5051

include/haproxy/quic_pacing-t.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#ifndef _HAPROXY_QUIC_PACING_T_H
2+
#define _HAPROXY_QUIC_PACING_T_H
3+
4+
#include <haproxy/quic_cc-t.h>
5+
6+
struct quic_pacer {
7+
const struct quic_cc_path *path;
8+
};
9+
10+
#endif /* _HAPROXY_QUIC_PACING_T_H */

include/haproxy/quic_pacing.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#ifndef _HAPROXY_QUIC_PACING_H
2+
#define _HAPROXY_QUIC_PACING_H
3+
4+
#include <haproxy/quic_pacing-t.h>
5+
6+
static inline void quic_pacing_init(struct quic_pacer *pacer,
7+
const struct quic_cc_path *path)
8+
{
9+
pacer->path = path;
10+
}
11+
12+
#endif /* _HAPROXY_QUIC_PACING_H */

src/mux_quic.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2875,6 +2875,7 @@ static int qmux_init(struct connection *conn, struct proxy *prx,
28752875
qcc->rfctl.msd_uni_l = rparams->initial_max_stream_data_uni;
28762876

28772877
qcc->tx.buf_in_flight = 0;
2878+
quic_pacing_init(&qcc->tx.pacer, conn->handle.qc->path);
28782879

28792880
if (conn_is_back(conn)) {
28802881
qcc->next_bidi_l = 0x00;

src/quic_pacing.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <haproxy/quic_pacing.h>

0 commit comments

Comments
 (0)