Further clean up QuicConfig idle timeout API

Now that all of our clients use the single-parameter API, remove any API that allows setting different values or that uses seconds instead of QuicTime::Delta. Since the idle timeout is not used before the handshake, and required to be negotiated during the handshake, we're guaranteed that its default value is never used and only the maximum value matters. Therefore this CL does not change any behavior.

gfe-relnote: refactor QuicConfig, not flag protected
PiperOrigin-RevId: 309474946
Change-Id: I070efb307b360d0e30d4481dfb3fe24bbec62306
diff --git a/quic/core/quic_config.cc b/quic/core/quic_config.cc
index 5a3e769..a06e698 100644
--- a/quic/core/quic_config.cc
+++ b/quic/core/quic_config.cc
@@ -590,16 +590,10 @@
           ContainsQuicTag(client_connection_options_.GetSendValues(), tag));
 }
 
-void QuicConfig::SetIdleNetworkTimeout(
-    QuicTime::Delta max_idle_network_timeout,
-    QuicTime::Delta default_idle_network_timeout) {
-  idle_network_timeout_seconds_.set(
-      static_cast<uint32_t>(max_idle_network_timeout.ToSeconds()),
-      static_cast<uint32_t>(default_idle_network_timeout.ToSeconds()));
-}
-
 void QuicConfig::SetIdleNetworkTimeout(QuicTime::Delta idle_network_timeout) {
-  SetIdleNetworkTimeout(idle_network_timeout, idle_network_timeout);
+  idle_network_timeout_seconds_.set(
+      static_cast<uint32_t>(idle_network_timeout.ToSeconds()),
+      static_cast<uint32_t>(idle_network_timeout.ToSeconds()));
 }
 
 QuicTime::Delta QuicConfig::IdleNetworkTimeout() const {
@@ -956,8 +950,7 @@
 }
 
 void QuicConfig::SetDefaults() {
-  idle_network_timeout_seconds_.set(kMaximumIdleTimeoutSecs,
-                                    kDefaultIdleTimeoutSecs);
+  SetIdleNetworkTimeout(QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   SetMaxBidirectionalStreamsToSend(kDefaultMaxStreamsPerConnection);
   SetMaxUnidirectionalStreamsToSend(kDefaultMaxStreamsPerConnection);
   max_time_before_crypto_handshake_ =
diff --git a/quic/core/quic_config.h b/quic/core/quic_config.h
index 2a46ae6..0009cda 100644
--- a/quic/core/quic_config.h
+++ b/quic/core/quic_config.h
@@ -333,10 +333,6 @@
   bool HasClientRequestedIndependentOption(QuicTag tag,
                                            Perspective perspective) const;
 
-  void SetIdleNetworkTimeout(QuicTime::Delta max_idle_network_timeout,
-                             QuicTime::Delta default_idle_network_timeout);
-
-  // Sets both default and max to the same value.
   void SetIdleNetworkTimeout(QuicTime::Delta idle_network_timeout);
 
   QuicTime::Delta IdleNetworkTimeout() const;
@@ -376,10 +372,6 @@
     return max_idle_time_before_crypto_handshake_;
   }
 
-  QuicNegotiableUint32 idle_network_timeout_seconds() const {
-    return idle_network_timeout_seconds_;
-  }
-
   void set_max_undecryptable_packets(size_t max_undecryptable_packets) {
     max_undecryptable_packets_ = max_undecryptable_packets;
   }
diff --git a/quic/core/quic_config_test.cc b/quic/core/quic_config_test.cc
index 9ce6024..cb8d3be 100644
--- a/quic/core/quic_config_test.cc
+++ b/quic/core/quic_config_test.cc
@@ -89,8 +89,7 @@
       kInitialStreamFlowControlWindowForTest);
   config_.SetInitialSessionFlowControlWindowToSend(
       kInitialSessionFlowControlWindowForTest);
-  config_.SetIdleNetworkTimeout(QuicTime::Delta::FromSeconds(5),
-                                QuicTime::Delta::FromSeconds(2));
+  config_.SetIdleNetworkTimeout(QuicTime::Delta::FromSeconds(5));
   CryptoHandshakeMessage msg;
   config_.ToHandshakeMessage(&msg, GetParam());
 
@@ -115,8 +114,7 @@
   QuicTagVector cgst;
   cgst.push_back(kQBIC);
   client_config.SetIdleNetworkTimeout(
-      QuicTime::Delta::FromSeconds(2 * kMaximumIdleTimeoutSecs),
-      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
+      QuicTime::Delta::FromSeconds(2 * kMaximumIdleTimeoutSecs));
   client_config.SetInitialRoundTripTimeUsToSend(10 * kNumMicrosPerMilli);
   client_config.SetInitialStreamFlowControlWindowToSend(
       2 * kInitialStreamFlowControlWindowForTest);
@@ -373,10 +371,9 @@
 }
 
 TEST_P(QuicConfigTest, IncomingLargeIdleTimeoutTransportParameter) {
-  // Configure our default to 30s and max to 60s, then receive 120s from peer.
-  // Since the received value is above the max, we should then use the max.
-  config_.SetIdleNetworkTimeout(quic::QuicTime::Delta::FromSeconds(60),
-                                quic::QuicTime::Delta::FromSeconds(30));
+  // Configure our idle timeout to 60s, then receive 120s from peer.
+  // Since the received value is above ours, we should then use ours.
+  config_.SetIdleNetworkTimeout(quic::QuicTime::Delta::FromSeconds(60));
   TransportParameters params;
   params.idle_timeout_milliseconds.set_value(120000);
 
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index a9ee2af..5c3cbad 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -4251,8 +4251,8 @@
   QuicTagVector options;
   options.push_back(kTLPR);
   config.SetConnectionOptionsToSend(options);
-  QuicConfigPeer::ReceiveIdleNetworkTimeout(&config, SERVER,
-                                            kDefaultIdleTimeoutSecs);
+  QuicConfigPeer::ReceiveIdleNetworkTimeout(
+      &config, SERVER, QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   connection_.SetFromConfig(config);
   connection_.SetMaxTailLossProbes(1);
 
@@ -5781,7 +5781,7 @@
   client_config.SetInitialSessionFlowControlWindowToSend(
       kInitialSessionFlowControlWindowForTest);
   client_config.SetIdleNetworkTimeout(
-      QuicTime::Delta::FromSeconds(kDefaultIdleTimeoutSecs));
+      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   client_config.ToHandshakeMessage(&msg, connection_.transport_version());
   const QuicErrorCode error =
       config.ProcessPeerHello(msg, CLIENT, &error_details);
@@ -5790,7 +5790,7 @@
   connection_.SetFromConfig(config);
 
   const QuicTime::Delta default_idle_timeout =
-      QuicTime::Delta::FromSeconds(kDefaultIdleTimeoutSecs - 1);
+      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs - 1);
   const QuicTime::Delta five_ms = QuicTime::Delta::FromMilliseconds(5);
   QuicTime default_timeout = clock_.ApproximateNow() + default_idle_timeout;
 
@@ -5870,7 +5870,7 @@
   client_config.SetInitialSessionFlowControlWindowToSend(
       kInitialSessionFlowControlWindowForTest);
   client_config.SetIdleNetworkTimeout(
-      QuicTime::Delta::FromSeconds(kDefaultIdleTimeoutSecs));
+      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   client_config.ToHandshakeMessage(&msg, connection_.transport_version());
   const QuicErrorCode error =
       config.ProcessPeerHello(msg, CLIENT, &error_details);
@@ -5879,7 +5879,7 @@
   connection_.SetFromConfig(config);
 
   const QuicTime::Delta default_idle_timeout =
-      QuicTime::Delta::FromSeconds(kDefaultIdleTimeoutSecs - 1);
+      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs - 1);
   const QuicTime::Delta five_ms = QuicTime::Delta::FromMilliseconds(5);
   QuicTime default_timeout = clock_.ApproximateNow() + default_idle_timeout;
 
@@ -5931,7 +5931,7 @@
   client_config.SetInitialSessionFlowControlWindowToSend(
       kInitialSessionFlowControlWindowForTest);
   client_config.SetIdleNetworkTimeout(
-      QuicTime::Delta::FromSeconds(kDefaultIdleTimeoutSecs));
+      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   client_config.ToHandshakeMessage(&msg, connection_.transport_version());
   const QuicErrorCode error =
       config.ProcessPeerHello(msg, CLIENT, &error_details);
@@ -5940,7 +5940,7 @@
   connection_.SetFromConfig(config);
 
   const QuicTime::Delta default_idle_timeout =
-      QuicTime::Delta::FromSeconds(kDefaultIdleTimeoutSecs - 1);
+      QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs - 1);
   const QuicTime::Delta five_ms = QuicTime::Delta::FromMilliseconds(5);
   QuicTime default_timeout = clock_.ApproximateNow() + default_idle_timeout;
 
@@ -6103,8 +6103,8 @@
   QuicTagVector connection_options;
   connection_options.push_back(k5RTO);
   config.SetConnectionOptionsToSend(connection_options);
-  QuicConfigPeer::ReceiveIdleNetworkTimeout(&config, SERVER,
-                                            kDefaultIdleTimeoutSecs);
+  QuicConfigPeer::ReceiveIdleNetworkTimeout(
+      &config, SERVER, QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   connection_.SetFromConfig(config);
 
   // Send stream data.
@@ -9875,8 +9875,8 @@
   connection_options.push_back(k1PTO);
   connection_options.push_back(k6PTO);
   config.SetConnectionOptionsToSend(connection_options);
-  QuicConfigPeer::ReceiveIdleNetworkTimeout(&config, SERVER,
-                                            kDefaultIdleTimeoutSecs);
+  QuicConfigPeer::ReceiveIdleNetworkTimeout(
+      &config, SERVER, QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
   connection_.SetFromConfig(config);
   EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
@@ -9923,8 +9923,8 @@
   connection_options.push_back(k2PTO);
   connection_options.push_back(k7PTO);
   config.SetConnectionOptionsToSend(connection_options);
-  QuicConfigPeer::ReceiveIdleNetworkTimeout(&config, SERVER,
-                                            kDefaultIdleTimeoutSecs);
+  QuicConfigPeer::ReceiveIdleNetworkTimeout(
+      &config, SERVER, QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
   connection_.SetFromConfig(config);
   EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
@@ -9969,8 +9969,8 @@
   QuicTagVector connection_options;
   connection_options.push_back(k2PTO);
   connection_options.push_back(k8PTO);
-  QuicConfigPeer::ReceiveIdleNetworkTimeout(&config, SERVER,
-                                            kDefaultIdleTimeoutSecs);
+  QuicConfigPeer::ReceiveIdleNetworkTimeout(
+      &config, SERVER, QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
   config.SetConnectionOptionsToSend(connection_options);
   EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
   connection_.SetFromConfig(config);