Deprecate --quic_no_send_alarm_unless_necessary.

PiperOrigin-RevId: 579952503
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index f926c4f..838d48d 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -2357,19 +2357,6 @@
     return;
   }
 
-  if (!GetQuicReloadableFlag(quic_no_send_alarm_unless_necessary)) {
-    // Now that we have received an ack, we might be able to send packets which
-    // are queued locally, or drain streams which are blocked.
-    if (defer_send_in_response_to_packets_) {
-      send_alarm_->Update(clock_->ApproximateNow() +
-                              sent_packet_manager_.GetDeferredSendAlarmDelay(),
-                          QuicTime::Delta::Zero());
-    } else {
-      WriteIfNotBlocked();
-    }
-    return;
-  }
-
   if (!defer_send_in_response_to_packets_) {
     WriteIfNotBlocked();
     return;
@@ -2378,7 +2365,6 @@
   if (!visitor_->WillingAndAbleToWrite()) {
     QUIC_DVLOG(1)
         << "No send alarm after processing packet. !WillingAndAbleToWrite.";
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 1, 7);
     return;
   }
 
@@ -2388,7 +2374,6 @@
   QuicTime max_deadline = QuicTime::Infinite();
   if (send_alarm_->IsSet()) {
     QUIC_DVLOG(1) << "Send alarm already set to " << send_alarm_->deadline();
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 2, 7);
     max_deadline = send_alarm_->deadline();
     send_alarm_->Cancel();
   }
@@ -2398,7 +2383,6 @@
     // so we'll keep writing after other connections.
     QUIC_BUG_IF(quic_send_alarm_set_with_data_to_send, send_alarm_->IsSet());
     QUIC_DVLOG(1) << "Immediate send alarm scheduled after processing packet.";
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 3, 7);
     send_alarm_->Set(clock_->ApproximateNow() +
                      sent_packet_manager_.GetDeferredSendAlarmDelay());
     return;
@@ -2416,26 +2400,22 @@
           << ", packets_sent_on_last_successful_can_write:"
           << packets_sent_on_last_successful_can_write_;
       QUIC_DVLOG(1) << "Send alarm restored after processing packet.";
-      QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 4, 7);
       // Restore to the previous, earlier deadline.
       send_alarm_->Update(max_deadline, QuicTime::Delta::Zero());
     } else {
       QUIC_DVLOG(1) << "Future send alarm scheduled after processing packet.";
-      QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 5, 7);
     }
     return;
   }
 
   if (max_deadline != QuicTime::Infinite()) {
     QUIC_DVLOG(1) << "Send alarm restored after processing packet.";
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 6, 7);
     send_alarm_->Set(max_deadline);
     return;
   }
   // Can not send data due to other reasons: congestion blocked, anti
   // amplification throttled, etc.
   QUIC_DVLOG(1) << "No send alarm after processing packet. Other reasons.";
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_no_send_alarm_unless_necessary, 7, 7);
 }
 
 size_t QuicConnection::SendCryptoData(EncryptionLevel level,
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 8f016f8..83bc10d 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -35,8 +35,6 @@
 QUIC_FLAG(quic_reloadable_flag_quic_block_until_settings_received_copt, true)
 // If trrue, early return before write control frame in OnCanWrite() if the connection is already closed.
 QUIC_FLAG(quic_reloadable_flag_quic_no_write_control_frame_upon_connection_close, true)
-// If true and defer_send_in_response_to_packets is enabled, QuicConnection will schedule send alarms at the end of packet processing only if it\'s necessary.
-QUIC_FLAG(quic_reloadable_flag_quic_no_send_alarm_unless_necessary, true)
 // If true, QUIC server will not respond to gQUIC probing packet(PING + PADDING) but treat it as a regular packet.
 QUIC_FLAG(quic_reloadable_flag_quic_ignore_gquic_probing, true)
 // If true, QUIC will default enable MTU discovery at server, with a target of 1450 bytes.