Internal QUICHE change PiperOrigin-RevId: 280506758 Change-Id: If5627266f2175967ecd1b00cd2a067bf33bec5aa
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc index 55b2274..0d5e1d8 100644 --- a/quic/core/quic_connection.cc +++ b/quic/core/quic_connection.cc
@@ -2684,9 +2684,15 @@ sent_packet_manager_.pending_timer_transmission_count() == 1) { // Skip a packet number when a single PTO packet is sent to elicit an // immediate ACK. + const QuicPacketCount num_packet_numbers_to_skip = 1; packet_creator_.SkipNPacketNumbers( - 1, sent_packet_manager_.GetLeastUnacked(), + num_packet_numbers_to_skip, sent_packet_manager_.GetLeastUnacked(), sent_packet_manager_.EstimateMaxPacketsInFlight(max_packet_length())); + if (GetQuicReloadableFlag(quic_on_packet_numbers_skipped) && + debug_visitor_ != nullptr) { + QUIC_RELOADABLE_FLAG_COUNT(quic_on_packet_numbers_skipped); + debug_visitor_->OnNPacketNumbersSkipped(num_packet_numbers_to_skip); + } } WriteIfNotBlocked();
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h index b5cf6fb..6277f14 100644 --- a/quic/core/quic_connection.h +++ b/quic/core/quic_connection.h
@@ -303,6 +303,9 @@ // Called when a MaxStreamsFrame has been parsed. virtual void OnMaxStreamsFrame(const QuicMaxStreamsFrame& /*frame*/) {} + + // Called when |count| packet numbers have been skipped. + virtual void OnNPacketNumbersSkipped(QuicPacketCount /*count*/) {} }; class QUIC_EXPORT_PRIVATE QuicConnectionHelperInterface {