Update QUIC transport parameters to draft 20
This CL updates from draft-18 to draft-19/20. The only changes are idle_timeout being in milliseconds instead of seconds, and the removal of the versions before the parameters. We've kept the versions in a custom Google-specific extension for now. This extension will eventually evolve into the IETF compatible version negotiation extension.
gfe-relnote: protected by disabled flag quic_supports_tls_handshake
PiperOrigin-RevId: 246043673
Change-Id: I35929d0f381f506e2275e639af41e840ab16b8ca
diff --git a/quic/core/quic_config.cc b/quic/core/quic_config.cc
index cad98db..b106f41 100644
--- a/quic/core/quic_config.cc
+++ b/quic/core/quic_config.cc
@@ -750,8 +750,8 @@
}
bool QuicConfig::FillTransportParameters(TransportParameters* params) const {
- params->idle_timeout_seconds.set_value(
- idle_network_timeout_seconds_.GetUint32());
+ params->idle_timeout_milliseconds.set_value(
+ idle_network_timeout_seconds_.GetUint32() * kNumMillisPerSecond);
if (stateless_reset_token_.HasSendValue()) {
QuicUint128 stateless_reset_token = stateless_reset_token_.GetSendValue();
@@ -807,7 +807,9 @@
const TransportParameters& params,
HelloType hello_type,
std::string* error_details) {
- uint64_t idle_timeout_seconds = params.idle_timeout_seconds.value();
+ // Intentionally round down to probe too often rather than not often enough.
+ uint64_t idle_timeout_seconds =
+ params.idle_timeout_milliseconds.value() / kNumMillisPerSecond;
if (idle_timeout_seconds > kMaximumIdleTimeoutSecs) {
idle_timeout_seconds = kMaximumIdleTimeoutSecs;
}