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 {