Internal QUICHE change

PiperOrigin-RevId: 360774214
Change-Id: Id502d85dd90c5651fdb92a133bb949a9ee3b0ba7
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 173bc99..f7cb8f4 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -4800,6 +4800,16 @@
   if (!validate_client_addresses_) {
     return;
   }
+  if (debug_visitor_ != nullptr) {
+    const QuicTime now = clock_->ApproximateNow();
+    if (now >= stats_.handshake_completion_time) {
+      debug_visitor_->OnPeerMigrationValidated(
+          now - stats_.handshake_completion_time);
+    } else {
+      QUIC_BUG << "Handshake completion time is larger than current time.";
+    }
+  }
+
   // Lift anti-amplification limit.
   default_path_.validated = true;
   alternative_path_.Clear();
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 302fb35..21e4c68 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -414,6 +414,9 @@
   // Called on peer address change.
   virtual void OnPeerAddressChange(AddressChangeType /*type*/,
                                    QuicTime::Delta /*connection_time*/) {}
+
+  // Called after peer migration is validated.
+  virtual void OnPeerMigrationValidated(QuicTime::Delta /*connection_time*/) {}
 };
 
 class QUIC_EXPORT_PRIVATE QuicConnectionHelperInterface {