Refactor quic_enable_version flags

In order to support our goal of enabling some QUIC versions with TLS on the GFE, we want to be able to enable some of them but not others. This CL refactors our flag code in order to do that. It also adds quic_disable_version flags for all existing versions to allow us to disable some versions on demand.

gfe-relnote: refactor never-enabled reloadable quic_enable_version flags

NO_BUG=refactor

emadomara@ please review //communication/synapse/networking/measuring_uploader/quic_uploader_client.cc
rch@ please review everything else :-)

PiperOrigin-RevId: 284641206
Change-Id: I9c5c8829fc8757b8ed3d6bd46689f9adafcb555a
diff --git a/quic/quartc/quartc_session_test.cc b/quic/quartc/quartc_session_test.cc
index 956073b..195baa4 100644
--- a/quic/quartc/quartc_session_test.cc
+++ b/quic/quartc/quartc_session_test.cc
@@ -51,6 +51,11 @@
   ~QuartcSessionTest() override {}
 
   void Init(bool create_client_endpoint = true) {
+    quic::test::QuicEnableDefaultEnabledVersions();
+    // TODO(b/134175506): Remove when IETF QUIC supports receive timestamps.
+    SetQuicReloadableFlag(quic_enable_version_q099, false);
+    SetQuicReloadableFlag(quic_enable_version_t099, false);
+
     client_transport_ =
         std::make_unique<simulator::SimulatedQuartcPacketTransport>(
             &simulator_, "client_transport", "server_transport",
@@ -336,7 +341,8 @@
 
 TEST_F(QuartcSessionTest, SendReceiveMessages) {
   // TODO(b/134175506): Remove when IETF QUIC supports receive timestamps.
-  SetQuicReloadableFlag(quic_enable_version_99, false);
+  SetQuicReloadableFlag(quic_enable_version_q099, false);
+  SetQuicReloadableFlag(quic_enable_version_t099, false);
 
   CreateClientAndServerSessions(QuartcSessionConfig());
   AwaitHandshake();
@@ -345,7 +351,8 @@
 
 TEST_F(QuartcSessionTest, SendReceiveQueuedMessages) {
   // TODO(b/134175506): Remove when IETF QUIC supports receive timestamps.
-  SetQuicReloadableFlag(quic_enable_version_99, false);
+  SetQuicReloadableFlag(quic_enable_version_q099, false);
+  SetQuicReloadableFlag(quic_enable_version_t099, false);
 
   CreateClientAndServerSessions(QuartcSessionConfig());
   AwaitHandshake();
@@ -406,7 +413,8 @@
 
 TEST_F(QuartcSessionTest, PreSharedKeyHandshake) {
   // TODO(b/134175506): Remove when IETF QUIC supports receive timestamps.
-  SetQuicReloadableFlag(quic_enable_version_99, false);
+  SetQuicReloadableFlag(quic_enable_version_q099, false);
+  SetQuicReloadableFlag(quic_enable_version_t099, false);
 
   QuartcSessionConfig config;
   config.pre_shared_key = "foo";
@@ -552,7 +560,8 @@
 
 TEST_F(QuartcSessionTest, LostDatagramNotifications) {
   // TODO(b/134175506): Remove when IETF QUIC supports receive timestamps.
-  SetQuicReloadableFlag(quic_enable_version_99, false);
+  SetQuicReloadableFlag(quic_enable_version_q099, false);
+  SetQuicReloadableFlag(quic_enable_version_t099, false);
 
   // Disable tail loss probe, otherwise test maybe flaky because dropped
   // message will be retransmitted to detect tail loss.