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 {