Stop using "delete connection()" in QuicSession classes and use DeleteConnection() instead, which prevents double deletion and sets connection_ to nullptr.

gfe-relnote: n/a (Set deleted pointer to nullptr)
PiperOrigin-RevId: 284764494
Change-Id: I6d7f36768e14f06b9cd8267ac74d22d189463579
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index c0f5992..2b50ebc 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1615,6 +1615,13 @@
   return v99_streamid_manager_.GetLargestPeerCreatedStreamId(unidirectional);
 }
 
+void QuicSession::DeleteConnection() {
+  if (connection_) {
+    delete connection_;
+    connection_ = nullptr;
+  }
+}
+
 bool QuicSession::IsClosedStream(QuicStreamId id) {
   DCHECK_NE(QuicUtils::GetInvalidStreamId(transport_version()), id);
   if (IsOpenStream(id)) {