Send correct max_ack_delay in QUIC+TLS This CL fixes a bug where QuicConfig was sending the default value for max_ack_delay instead of the configured vale, when using QUIC+TLS. The only code that sets a non-default value here is either tests or quartc. Quartc is client-only, therefore we do not need flag-protection for this change. Client-only change PiperOrigin-RevId: 312164256 Change-Id: Ida7203ca219707d8ac44664c3a3326c215114f1e
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc index eb89efa..75e6f44 100644 --- a/quic/core/http/end_to_end_test.cc +++ b/quic/core/http/end_to_end_test.cc
@@ -599,14 +599,9 @@ // Simple transaction, but set a non-default ack delay at the client // and ensure it gets to the server. TEST_P(EndToEndTest, SimpleRequestResponseWithAckDelayChange) { - if (version_.UsesTls()) { - // TODO(b/155316241): Enable this test for TLS. - Initialize(); - return; - } // Force the ACK delay to be something other than the default. - // Note that it is sent only if doing IETF QUIC. - client_config_.SetMaxAckDelayToSendMs(kDefaultDelayedAckTimeMs + 100u); + constexpr uint32_t kClientMaxAckDelay = kDefaultDelayedAckTimeMs + 100u; + client_config_.SetMaxAckDelayToSendMs(kClientMaxAckDelay); ASSERT_TRUE(Initialize()); EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo")); @@ -614,10 +609,9 @@ EXPECT_FALSE(client_->client()->EarlyDataAccepted()); EXPECT_FALSE(client_->client()->ReceivedInchoateReject()); if (GetQuicReloadableFlag(quic_negotiate_ack_delay_time)) { - EXPECT_EQ(kDefaultDelayedAckTimeMs + 100u, - GetSentPacketManagerFromFirstServerSession() - ->peer_max_ack_delay() - .ToMilliseconds()); + EXPECT_EQ(kClientMaxAckDelay, GetSentPacketManagerFromFirstServerSession() + ->peer_max_ack_delay() + .ToMilliseconds()); } else { EXPECT_EQ(kDefaultDelayedAckTimeMs, GetSentPacketManagerFromFirstServerSession()
diff --git a/quic/core/quic_config.cc b/quic/core/quic_config.cc index 7c781f4..8cdc121 100644 --- a/quic/core/quic_config.cc +++ b/quic/core/quic_config.cc
@@ -592,7 +592,7 @@ return max_ack_delay_ms_.SetSendValue(max_ack_delay_ms); } -uint32_t QuicConfig::GetMaxAckDelayToToSendMs() const { +uint32_t QuicConfig::GetMaxAckDelayToSendMs() const { return max_ack_delay_ms_.GetSendValue(); } @@ -1110,7 +1110,7 @@ GetMaxUnidirectionalStreamsToSend()); if (GetQuicReloadableFlag(quic_negotiate_ack_delay_time)) { QUIC_RELOADABLE_FLAG_COUNT_N(quic_negotiate_ack_delay_time, 3, 4); - params->max_ack_delay.set_value(kDefaultDelayedAckTimeMs); + params->max_ack_delay.set_value(GetMaxAckDelayToSendMs()); } params->ack_delay_exponent.set_value(GetAckDelayExponentToSend()); params->disable_migration =
diff --git a/quic/core/quic_config.h b/quic/core/quic_config.h index 4d2bacc..6809c28 100644 --- a/quic/core/quic_config.h +++ b/quic/core/quic_config.h
@@ -411,7 +411,7 @@ // The received delay is the value received from // the peer (QuicSentPacketManager::peer_max_ack_delay_). void SetMaxAckDelayToSendMs(uint32_t max_ack_delay_ms); - uint32_t GetMaxAckDelayToToSendMs() const; + uint32_t GetMaxAckDelayToSendMs() const; bool HasReceivedMaxAckDelayMs() const; uint32_t ReceivedMaxAckDelayMs() const;