Deprecate gfe2_reloadable_flag_quic_advance_ack_timeout_update.
PiperOrigin-RevId: 318076325
Change-Id: I06fe1c007d76fb56cf359d0ea7496bbbdae947df
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 5b9419f..8d274d0 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -3953,14 +3953,10 @@
client_->WaitForResponse();
EXPECT_EQ(kBarResponseBody, client_->response_body());
QuicConnectionStats client_stats = GetClientConnection()->GetStats();
- if (GetQuicReloadableFlag(quic_advance_ack_timeout_update)) {
- // Client sends CHLO in packet 1 and retransmitted in packet 2. Because of
- // the delay, server processes packet 2 and later drops packet 1. ACK is
- // bundled with SHLO, such that 1 can be detected loss by time threshold.
- EXPECT_LE(0u, client_stats.packets_lost);
- } else {
- EXPECT_EQ(0u, client_stats.packets_lost);
- }
+ // Client sends CHLO in packet 1 and retransmitted in packet 2. Because of
+ // the delay, server processes packet 2 and later drops packet 1. ACK is
+ // bundled with SHLO, such that 1 can be detected loss by time threshold.
+ EXPECT_LE(0u, client_stats.packets_lost);
EXPECT_TRUE(client_->client()->EarlyDataAccepted());
}
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 2c601bb..1272359 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -333,9 +333,6 @@
<< "QuicConnection: attempted to use server connection ID "
<< server_connection_id << " which is invalid with version "
<< QuicVersionToString(transport_version());
- if (advance_ack_timeout_update_) {
- QUIC_RELOADABLE_FLAG_COUNT(quic_advance_ack_timeout_update);
- }
framer_.set_visitor(this);
stats_.connection_creation_time = clock_->ApproximateNow();
// TODO(ianswett): Supply the NetworkChangeVisitor as a constructor argument
@@ -1153,14 +1150,9 @@
ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET);
return false;
}
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnStreamFrame(frame);
stats_.stream_bytes_received += frame.data_length;
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
consecutive_retransmittable_on_wire_ping_count_ = 0;
return connected_;
}
@@ -1175,13 +1167,8 @@
if (debug_visitor_ != nullptr) {
debug_visitor_->OnCryptoFrame(frame);
}
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnCryptoFrame(frame);
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1363,11 +1350,7 @@
if (debug_visitor_ != nullptr) {
debug_visitor_->OnPingFrame(frame);
}
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- } else {
- should_last_packet_instigate_acks_ = true;
- }
+ MaybeUpdateAckTimeout();
return true;
}
@@ -1409,13 +1392,8 @@
<< "RST_STREAM_FRAME received for stream: " << frame.stream_id
<< " with error: "
<< QuicRstStreamErrorCodeToString(frame.error_code);
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnRstStream(frame);
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1446,11 +1424,7 @@
// response.
received_path_challenge_payloads_.push_back(frame.data_buffer);
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- } else {
- should_last_packet_instigate_acks_ = true;
- }
+ MaybeUpdateAckTimeout();
return true;
}
@@ -1458,11 +1432,7 @@
if (debug_visitor_ != nullptr) {
debug_visitor_->OnPathResponseFrame(frame);
}
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- } else {
- should_last_packet_instigate_acks_ = true;
- }
+ MaybeUpdateAckTimeout();
if (!transmitted_connectivity_probe_payload_ ||
*transmitted_connectivity_probe_payload_ != frame.data_buffer) {
// Is not for the probe we sent, ignore it.
@@ -1549,13 +1519,8 @@
<< frame.last_good_stream_id
<< " and error: " << QuicErrorCodeToString(frame.error_code)
<< " and reason: " << frame.reason_phrase;
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnGoAway(frame);
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1570,13 +1535,8 @@
debug_visitor_->OnWindowUpdateFrame(frame, GetTimeOfLastReceivedPacket());
}
QUIC_DVLOG(1) << ENDPOINT << "WINDOW_UPDATE_FRAME received " << frame;
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnWindowUpdateFrame(frame);
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1613,14 +1573,9 @@
if (debug_visitor_ != nullptr) {
debug_visitor_->OnMessageFrame(frame);
}
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnMessageReceived(
quiche::QuicheStringPiece(frame.data, frame.message_length));
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1647,13 +1602,8 @@
if (debug_visitor_ != nullptr) {
debug_visitor_->OnHandshakeDoneFrame(frame);
}
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnHandshakeDoneReceived();
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1675,14 +1625,9 @@
}
QUIC_DLOG(INFO) << ENDPOINT
<< "BLOCKED_FRAME received for stream: " << frame.stream_id;
- if (advance_ack_timeout_update_) {
- MaybeUpdateAckTimeout();
- }
+ MaybeUpdateAckTimeout();
visitor_->OnBlockedFrame(frame);
stats_.blocked_frames_received++;
- if (!advance_ack_timeout_update_) {
- should_last_packet_instigate_acks_ = true;
- }
return connected_;
}
@@ -1754,7 +1699,7 @@
// For IETF QUIC, it is guaranteed that TLS will give connection the
// corresponding write key before read key. In other words, connection should
// never process a packet while an ACK for it cannot be encrypted.
- if (!advance_ack_timeout_update_ || !should_last_packet_instigate_acks_) {
+ if (!should_last_packet_instigate_acks_) {
uber_received_packet_manager_.MaybeUpdateAckTimeout(
should_last_packet_instigate_acks_, last_decrypted_packet_level_,
last_header_.packet_number, GetTimeOfLastReceivedPacket(),
@@ -4804,7 +4749,6 @@
}
void QuicConnection::MaybeUpdateAckTimeout() {
- DCHECK(advance_ack_timeout_update_);
if (should_last_packet_instigate_acks_) {
return;
}
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 2b1b8af..deb5ed2 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -1712,9 +1712,6 @@
const bool extend_idle_time_on_decryptable_packets_ =
GetQuicReloadableFlag(quic_extend_idle_time_on_decryptable_packets);
- const bool advance_ack_timeout_update_ =
- GetQuicReloadableFlag(quic_advance_ack_timeout_update);
-
const bool update_ack_alarm_in_send_all_pending_acks_ =
GetQuicReloadableFlag(quic_update_ack_alarm_in_send_all_pending_acks);
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index 864a824..600c28a 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -10976,15 +10976,9 @@
}));
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1);
ProcessDataPacket(1);
- if (GetQuicReloadableFlag(quic_advance_ack_timeout_update)) {
- // Verify ACK is bundled with WINDOW_UPDATE.
- EXPECT_FALSE(writer_->ack_frames().empty());
- EXPECT_FALSE(connection_.HasPendingAcks());
- } else {
- // ACK is pending.
- EXPECT_TRUE(writer_->ack_frames().empty());
- EXPECT_TRUE(connection_.HasPendingAcks());
- }
+ // Verify ACK is bundled with WINDOW_UPDATE.
+ EXPECT_FALSE(writer_->ack_frames().empty());
+ EXPECT_FALSE(connection_.HasPendingAcks());
}
TEST_P(QuicConnectionTest, AckAlarmFiresEarly) {