Internal change

PiperOrigin-RevId: 373359297
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index cac17ff..21300de 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -4513,11 +4513,7 @@
 
   client_.reset(CreateQuicClient(client_writer_));
   EXPECT_EQ("", client_->SendSynchronousRequest("/foo"));
-  if (GetQuicReloadableFlag(quic_fix_dispatcher_sent_error_code)) {
-    EXPECT_THAT(client_->connection_error(), IsError(QUIC_PACKET_WRITE_ERROR));
-  } else {
-    EXPECT_THAT(client_->connection_error(), IsError(QUIC_HANDSHAKE_FAILED));
-  }
+  EXPECT_THAT(client_->connection_error(), IsError(QUIC_HANDSHAKE_FAILED));
 }
 
 // Regression test for b/116200989.
diff --git a/quic/core/quic_dispatcher.cc b/quic/core/quic_dispatcher.cc
index 394253b..d17c8bd 100644
--- a/quic/core/quic_dispatcher.cc
+++ b/quic/core/quic_dispatcher.cc
@@ -776,9 +776,9 @@
 
 void QuicDispatcher::CleanUpSession(QuicConnectionId server_connection_id,
                                     QuicConnection* connection,
-                                    QuicErrorCode error,
-                                    const std::string& error_details,
-                                    ConnectionCloseSource source) {
+                                    QuicErrorCode /*error*/,
+                                    const std::string& /*error_details*/,
+                                    ConnectionCloseSource /*source*/) {
   write_blocked_list_.erase(connection);
   QuicTimeWaitListManager::TimeWaitAction action =
       QuicTimeWaitListManager::SEND_STATELESS_RESET;
@@ -787,14 +787,8 @@
     action = QuicTimeWaitListManager::SEND_CONNECTION_CLOSE_PACKETS;
   } else {
     if (!connection->IsHandshakeComplete()) {
-      const bool fix_dispatcher_sent_error_code =
-          GetQuicReloadableFlag(quic_fix_dispatcher_sent_error_code) &&
-          source == ConnectionCloseSource::FROM_SELF;
       // TODO(fayang): Do not serialize connection close packet if the
       // connection is closed by the client.
-      if (fix_dispatcher_sent_error_code) {
-        QUIC_RELOADABLE_FLAG_COUNT(quic_fix_dispatcher_sent_error_code);
-      }
       if (!connection->version().HasIetfInvariantHeader()) {
         QUIC_CODE_COUNT(gquic_add_to_time_wait_list_with_handshake_failed);
       } else {
@@ -809,10 +803,8 @@
             server_connection_id, connection->version(), helper_.get(),
             time_wait_list_manager_.get());
         terminator.CloseConnection(
-            fix_dispatcher_sent_error_code ? error : QUIC_HANDSHAKE_FAILED,
-            fix_dispatcher_sent_error_code
-                ? error_details
-                : "Connection is closed by server before handshake confirmed",
+            QUIC_HANDSHAKE_FAILED,
+            "Connection is closed by server before handshake confirmed",
             connection->version().HasIetfInvariantHeader(),
             connection->GetActiveServerConnectionIds());
       } else {
@@ -826,11 +818,8 @@
                 : GOOGLE_QUIC_PACKET,
             /*version_flag=*/true,
             connection->version().HasLengthPrefixedConnectionIds(),
-            connection->version(),
-            fix_dispatcher_sent_error_code ? error : QUIC_HANDSHAKE_FAILED,
-            fix_dispatcher_sent_error_code
-                ? error_details
-                : "Connection is closed by server before handshake confirmed",
+            connection->version(), QUIC_HANDSHAKE_FAILED,
+            "Connection is closed by server before handshake confirmed",
             // Although it is our intention to send termination packets, the
             // |action| argument is not used by this call to
             // StatelesslyTerminateConnection().
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 0608993..42d3360 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -45,7 +45,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_encrypted_control_frames, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_encrypted_goaway, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_error_on_http3_push, true)
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_dispatcher_sent_error_code, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_on_stream_reset, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_stateless_reset, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_fix_willing_and_able_to_write2, true)