No public description
PiperOrigin-RevId: 772606292
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index 78a463f..fa8330a 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -5830,27 +5830,17 @@
void QuicConnection::PostProcessAfterAckFrame(bool acked_new_packet) {
if (!packet_creator_.has_ack()) {
- if (least_unacked_plus_1_) {
- QuicPacketNumber largest_packet_peer_knows_is_acked =
- SupportsMultiplePacketNumberSpaces()
- ? sent_packet_manager_.GetLargestPacketPeerKnowsIsAcked(
- last_received_packet_info_.decrypted_level)
- : sent_packet_manager_.largest_packet_peer_knows_is_acked();
- if (largest_packet_peer_knows_is_acked.IsInitialized()) {
- QUIC_RELOADABLE_FLAG_COUNT(quic_least_unacked_plus_1);
- ++largest_packet_peer_knows_is_acked;
- }
- uber_received_packet_manager_.DontWaitForPacketsBefore(
- last_received_packet_info_.decrypted_level,
- largest_packet_peer_knows_is_acked);
- } else {
- uber_received_packet_manager_.DontWaitForPacketsBefore(
- last_received_packet_info_.decrypted_level,
- SupportsMultiplePacketNumberSpaces()
- ? sent_packet_manager_.GetLargestPacketPeerKnowsIsAcked(
- last_received_packet_info_.decrypted_level)
- : sent_packet_manager_.largest_packet_peer_knows_is_acked());
+ QuicPacketNumber largest_packet_peer_knows_is_acked =
+ sent_packet_manager_.GetLargestPacketPeerKnowsIsAcked(
+ last_received_packet_info_.decrypted_level);
+ if (least_unacked_plus_1_ &&
+ largest_packet_peer_knows_is_acked.IsInitialized()) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_least_unacked_plus_1);
+ ++largest_packet_peer_knows_is_acked;
}
+ uber_received_packet_manager_.DontWaitForPacketsBefore(
+ last_received_packet_info_.decrypted_level,
+ largest_packet_peer_knows_is_acked);
}
// Always reset the retransmission alarm when an ack comes in, since we now
// have a better estimate of the current rtt than when it was set.
diff --git a/quiche/quic/core/quic_sent_packet_manager.cc b/quiche/quic/core/quic_sent_packet_manager.cc
index cee3e88..ae905a5 100644
--- a/quiche/quic/core/quic_sent_packet_manager.cc
+++ b/quiche/quic/core/quic_sent_packet_manager.cc
@@ -1576,9 +1576,11 @@
QuicPacketNumber QuicSentPacketManager::GetLargestPacketPeerKnowsIsAcked(
EncryptionLevel decrypted_packet_level) const {
- QUICHE_DCHECK(supports_multiple_packet_number_spaces());
- return largest_packets_peer_knows_is_acked_[QuicUtils::GetPacketNumberSpace(
- decrypted_packet_level)];
+ if (supports_multiple_packet_number_spaces()) {
+ return largest_packets_peer_knows_is_acked_[QuicUtils::GetPacketNumberSpace(
+ decrypted_packet_level)];
+ }
+ return largest_packet_peer_knows_is_acked_;
}
QuicTime::Delta
diff --git a/quiche/quic/core/quic_sent_packet_manager.h b/quiche/quic/core/quic_sent_packet_manager.h
index a8a219c..4b0dfe6 100644
--- a/quiche/quic/core/quic_sent_packet_manager.h
+++ b/quiche/quic/core/quic_sent_packet_manager.h
@@ -437,11 +437,6 @@
return initial_congestion_window_;
}
- QuicPacketNumber largest_packet_peer_knows_is_acked() const {
- QUICHE_DCHECK(!supports_multiple_packet_number_spaces());
- return largest_packet_peer_knows_is_acked_;
- }
-
size_t pending_timer_transmission_count() const {
return pending_timer_transmission_count_;
}
diff --git a/quiche/quic/core/quic_sent_packet_manager_test.cc b/quiche/quic/core/quic_sent_packet_manager_test.cc
index 09a2541..0427cfb 100644
--- a/quiche/quic/core/quic_sent_packet_manager_test.cc
+++ b/quiche/quic/core/quic_sent_packet_manager_test.cc
@@ -728,7 +728,8 @@
}
TEST_F(QuicSentPacketManagerTest, AckAckAndUpdateRtt) {
- EXPECT_FALSE(manager_.largest_packet_peer_knows_is_acked().IsInitialized());
+ EXPECT_FALSE(manager_.GetLargestPacketPeerKnowsIsAcked(ENCRYPTION_INITIAL)
+ .IsInitialized());
SendDataPacket(1);
SendAckPacket(2, 1);
@@ -741,7 +742,8 @@
EXPECT_EQ(PACKETS_NEWLY_ACKED,
manager_.OnAckFrameEnd(clock_.Now(), QuicPacketNumber(1),
ENCRYPTION_INITIAL, kEmptyCounts));
- EXPECT_EQ(QuicPacketNumber(1), manager_.largest_packet_peer_knows_is_acked());
+ EXPECT_EQ(QuicPacketNumber(1),
+ manager_.GetLargestPacketPeerKnowsIsAcked(ENCRYPTION_INITIAL));
SendAckPacket(3, 3);
@@ -755,7 +757,7 @@
manager_.OnAckFrameEnd(clock_.Now(), QuicPacketNumber(2),
ENCRYPTION_INITIAL, kEmptyCounts));
EXPECT_EQ(QuicPacketNumber(3u),
- manager_.largest_packet_peer_knows_is_acked());
+ manager_.GetLargestPacketPeerKnowsIsAcked(ENCRYPTION_INITIAL));
}
TEST_F(QuicSentPacketManagerTest, Rtt) {