From 04a8d16512ae4b5ebb205db652077b2509860731 Mon Sep 17 00:00:00 2001 From: bneradt Date: Mon, 3 Aug 2026 12:54:58 -0500 Subject: [PATCH] Guard quiche-only QUIC connection state Native OpenSSL QUIC builds do not use the connection table or quiche timeout event stored by QUICNetVConnection. Clang diagnoses those quiche-only private fields as unused, causing warnings-as-errors builds to fail. This guards the members with TS_HAS_QUICHE so native OpenSSL builds do not declare them while quiche builds retain the required state. --- src/iocore/net/P_QUICNetVConnection.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/iocore/net/P_QUICNetVConnection.h b/src/iocore/net/P_QUICNetVConnection.h index bb8064ecb49..a43ed31c345 100644 --- a/src/iocore/net/P_QUICNetVConnection.h +++ b/src/iocore/net/P_QUICNetVConnection.h @@ -221,7 +221,9 @@ class QUICNetVConnection : public UnixNetVConnection, QUICConnectionId _initial_source_connection_id; // src cid used for Initial packet QUICConnectionId _quic_connection_id; // src cid in local +#if TS_HAS_QUICHE QUICConnectionTable *_ctable = nullptr; +#endif #if TS_HAS_OPENSSL_QUIC std::unordered_map _openssl_streams; @@ -240,10 +242,12 @@ class QUICNetVConnection : public UnixNetVConnection, void _close_packet_write_ready(Event *data); Event *_packet_write_ready = nullptr; - void _schedule_quiche_timeout(); - void _unschedule_quiche_timeout(); - void _close_quiche_timeout(Event *data); + void _schedule_quiche_timeout(); + void _unschedule_quiche_timeout(); + void _close_quiche_timeout(Event *data); +#if TS_HAS_QUICHE Event *_quiche_timeout = nullptr; +#endif void _schedule_closing_event();