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) {