Make default impl use quiche_feature_flags_list.h instead of quic_flags_list.h. The two files list the exact same flags, except the name prefix is different (quiche_ versus quic_), therefore the global variable used to implement the flags will have a different name. The second value in quiche_feature_flags_list.h is the same as the only value in quic_flags_list.h. This CL should therefore not result in any behavior change. The default flag implementation is only used in Chromium, and I already prepared a CL necessary to roll this QUICHE change. PiperOrigin-RevId: 647660906
diff --git a/quiche/common/platform/api/quiche_flags.h b/quiche/common/platform/api/quiche_flags.h index 4cd7c2e..b050431 100644 --- a/quiche/common/platform/api/quiche_flags.h +++ b/quiche/common/platform/api/quiche_flags.h
@@ -9,7 +9,7 @@ // Flags accessed via GetQuicheReloadableFlag/GetQuicheRestartFlag are temporary // boolean flags that are used to enable or disable code behavior changes. The -// current list is available in the quiche/quic/core/quic_flags_list.h file. +// current list is available at quiche/common/quiche_feature_flags_list.h. #define GetQuicheReloadableFlag(flag) GetQuicheReloadableFlagImpl(flag) #define SetQuicheReloadableFlag(flag, value) \ SetQuicheReloadableFlagImpl(flag, value) @@ -17,8 +17,8 @@ #define SetQuicheRestartFlag(flag, value) SetQuicheRestartFlagImpl(flag, value) // Flags accessed via GetQuicheFlag are permanent flags used to control QUICHE -// library behavior. The current list is available in the -// quiche/common/quiche_protocol_flags_list.h file. +// library behavior. The current list is available at +// quiche/common/quiche_protocol_flags_list.h. #define GetQuicheFlag(flag) GetQuicheFlagImpl(flag) #define SetQuicheFlag(flag, value) SetQuicheFlagImpl(flag, value)
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc b/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc index d753bd7..d216dc1 100644 --- a/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc +++ b/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc
@@ -4,9 +4,10 @@ #include "quiche_platform_impl/quiche_flags_impl.h" -#define QUIC_FLAG(flag, value) bool FLAGS_##flag = value; -#include "quiche/quic/core/quic_flags_list.h" -#undef QUIC_FLAG +#define QUICHE_FLAG(type, flag, internal_value, external_value, doc) \ + type FLAGS_##flag = external_value; +#include "quiche/common/quiche_feature_flags_list.h" +#undef QUICHE_FLAG #define QUICHE_PROTOCOL_FLAG(type, flag, value, doc) type FLAGS_##flag = value; #include "quiche/common/quiche_protocol_flags_list.h"
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h b/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h index 309c270..8212bee 100644 --- a/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h +++ b/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h
@@ -13,9 +13,10 @@ #include "quiche/common/platform/api/quiche_export.h" -#define QUIC_FLAG(flag, value) QUICHE_EXPORT extern bool FLAGS_##flag; -#include "quiche/quic/core/quic_flags_list.h" -#undef QUIC_FLAG +#define QUICHE_FLAG(type, flag, internal_value, external_value, doc) \ + QUICHE_EXPORT extern type FLAGS_##flag; +#include "quiche/common/quiche_feature_flags_list.h" +#undef QUICHE_FLAG // Protocol flags. #define QUICHE_PROTOCOL_FLAG(type, flag, ...) \ @@ -38,8 +39,8 @@ // ------------------------------------------------------------------------ // QUICHE feature flags implementation. // ------------------------------------------------------------------------ -#define QUICHE_RELOADABLE_FLAG(flag) quic_reloadable_flag_##flag -#define QUICHE_RESTART_FLAG(flag) quic_restart_flag_##flag +#define QUICHE_RELOADABLE_FLAG(flag) quiche_reloadable_flag_##flag +#define QUICHE_RESTART_FLAG(flag) quiche_restart_flag_##flag #define GetQuicheReloadableFlagImpl(flag) \ GetQuicheFlag(QUICHE_RELOADABLE_FLAG(flag)) #define SetQuicheReloadableFlagImpl(flag, value) \
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc b/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc index ccdbff3..0e7a7ea 100644 --- a/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc +++ b/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.cc
@@ -7,18 +7,20 @@ #include "quiche/common/platform/api/quiche_flags.h" QuicheFlagSaverImpl::QuicheFlagSaverImpl() { -#define QUIC_FLAG(flag, value) saved_##flag##_ = FLAGS_##flag; -#include "quiche/quic/core/quic_flags_list.h" -#undef QUIC_FLAG +#define QUICHE_FLAG(type, flag, internal_value, external_value, doc) \ + saved_##flag##_ = FLAGS_##flag; +#include "quiche/common/quiche_feature_flags_list.h" +#undef QUICHE_FLAG #define QUICHE_PROTOCOL_FLAG(type, flag, ...) saved_##flag##_ = FLAGS_##flag; #include "quiche/common/quiche_protocol_flags_list.h" #undef QUICHE_PROTOCOL_FLAG } QuicheFlagSaverImpl::~QuicheFlagSaverImpl() { -#define QUIC_FLAG(flag, value) FLAGS_##flag = saved_##flag##_; -#include "quiche/quic/core/quic_flags_list.h" // NOLINT -#undef QUIC_FLAG +#define QUICHE_FLAG(type, flag, internal_value, external_value, doc) \ + FLAGS_##flag = saved_##flag##_; +#include "quiche/common/quiche_feature_flags_list.h" // NOLINT +#undef QUICHE_FLAG #define QUICHE_PROTOCOL_FLAG(type, flag, ...) FLAGS_##flag = saved_##flag##_; #include "quiche/common/quiche_protocol_flags_list.h" // NOLINT #undef QUICHE_PROTOCOL_FLAG
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h b/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h index 43d245b..27489df 100644 --- a/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h +++ b/quiche/common/platform/default/quiche_platform_impl/quiche_test_impl.h
@@ -24,9 +24,10 @@ ~QuicheFlagSaverImpl(); private: -#define QUIC_FLAG(flag, value) bool saved_##flag##_; -#include "quiche/quic/core/quic_flags_list.h" -#undef QUIC_FLAG +#define QUICHE_FLAG(type, flag, internal_value, external_value, doc) \ + type saved_##flag##_; +#include "quiche/common/quiche_feature_flags_list.h" +#undef QUICHE_FLAG #define QUICHE_PROTOCOL_FLAG(type, flag, ...) type saved_##flag##_; #include "quiche/common/quiche_protocol_flags_list.h"