From: Willy Tarreau Date: Tue, 24 Feb 2026 17:50:30 +0000 (+0100) Subject: CLEANUP: quic-stats: include counters from quic_stats X-Git-Tag: v3.4-dev6~76 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9910af6117f7365f7f7ae2bf66d2237b63e8e91b;p=thirdparty%2Fhaproxy.git CLEANUP: quic-stats: include counters from quic_stats There's something a bit awkward in the way stats counters are inherited through the QUIC modules: quic_conn-t includes quic_stats-t.h, which declares quic_stats_module as extern from a type that's not known from this file. And anyway externs should not be exported from type defintions since they're not part of the ABI itself. This commit moves the declaration to quic_stats.h which now takes care to include stats-t.h to get the definition of struct stats_module. The few users who used to learn it through quic_conn-t.h now include it explicitly. As a bonus this reduces the number of preprocessed lines by 5000 (~0.1%). By the way, it looks like struct stats_module could benefit from being moved off stats-t.h since it's only used at places where the rest of the stats is not needed. Maybe something to consider for a future cleanup. --- diff --git a/include/haproxy/quic_conn-t.h b/include/haproxy/quic_conn-t.h index a0f4d98fc..ca23260cd 100644 --- a/include/haproxy/quic_conn-t.h +++ b/include/haproxy/quic_conn-t.h @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include diff --git a/include/haproxy/quic_stats-t.h b/include/haproxy/quic_stats-t.h index 0a82d7cac..76f3ab243 100644 --- a/include/haproxy/quic_stats-t.h +++ b/include/haproxy/quic_stats-t.h @@ -6,8 +6,6 @@ #error "Must define USE_OPENSSL" #endif -extern struct stats_module quic_stats_module; - enum { QUIC_ST_RXBUF_FULL, QUIC_ST_DROPPED_PACKET, diff --git a/include/haproxy/quic_stats.h b/include/haproxy/quic_stats.h index b2a8dec73..ce5d4688d 100644 --- a/include/haproxy/quic_stats.h +++ b/include/haproxy/quic_stats.h @@ -7,7 +7,9 @@ #endif #include +#include +extern struct stats_module quic_stats_module; void quic_stats_transp_err_count_inc(struct quic_counters *ctrs, int error_code); #endif /* USE_QUIC */ diff --git a/src/mux_quic.c b/src/mux_quic.c index 8da5d9a2c..0f70d9b9b 100644 --- a/src/mux_quic.c +++ b/src/mux_quic.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/src/quic_retry.c b/src/quic_retry.c index e6b901f05..2ac981034 100644 --- a/src/quic_retry.c +++ b/src/quic_retry.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include diff --git a/src/quic_rx.c b/src/quic_rx.c index 70ac60695..d967a4e65 100644 --- a/src/quic_rx.c +++ b/src/quic_rx.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include diff --git a/src/quic_sock.c b/src/quic_sock.c index f0322e507..3ed16cd80 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include diff --git a/src/quic_ssl.c b/src/quic_ssl.c index 00e2c1e32..915ec9838 100644 --- a/src/quic_ssl.c +++ b/src/quic_ssl.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include diff --git a/src/quic_tx.c b/src/quic_tx.c index 53f502643..c9a7c2094 100644 --- a/src/quic_tx.c +++ b/src/quic_tx.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include