Deprecate --gfe2_restart_flag_quic_alarm_add_permanent_cancel.

PiperOrigin-RevId: 397796404
diff --git a/quic/core/quic_alarm.cc b/quic/core/quic_alarm.cc
index 22e2e67..37d563f 100644
--- a/quic/core/quic_alarm.cc
+++ b/quic/core/quic_alarm.cc
@@ -17,7 +17,7 @@
     : delegate_(std::move(delegate)), deadline_(QuicTime::Zero()) {}
 
 QuicAlarm::~QuicAlarm() {
-  if (GetQuicRestartFlag(quic_alarm_add_permanent_cancel) && IsSet()) {
+  if (IsSet()) {
     QUIC_CODE_COUNT(quic_alarm_not_cancelled_in_dtor);
     static std::atomic<uint64_t> hit_count{0};
     uint64_t old_count = hit_count.fetch_add(1, std::memory_order_relaxed);
@@ -44,16 +44,6 @@
 }
 
 void QuicAlarm::CancelInternal(bool permanent) {
-  if (!GetQuicRestartFlag(quic_alarm_add_permanent_cancel)) {
-    if (!IsSet()) {
-      // Don't try to cancel an alarm that hasn't been set.
-      return;
-    }
-    deadline_ = QuicTime::Zero();
-    CancelImpl();
-    return;
-  }
-
   if (IsSet()) {
     deadline_ = QuicTime::Zero();
     CancelImpl();
diff --git a/quic/core/quic_alarm_test.cc b/quic/core/quic_alarm_test.cc
index bc3ea2c..c5f0327 100644
--- a/quic/core/quic_alarm_test.cc
+++ b/quic/core/quic_alarm_test.cc
@@ -140,35 +140,16 @@
   EXPECT_FALSE(alarm_.scheduled());
   EXPECT_EQ(QuicTime::Zero(), alarm_.deadline());
 
-  if (!GetQuicRestartFlag(quic_alarm_add_permanent_cancel)) {
-    alarm_.Set(deadline);
-    // When flag is false, PermanentCancel should work like a normal Cancel.
-    EXPECT_TRUE(alarm_.IsSet());
-    EXPECT_TRUE(alarm_.scheduled());
-    EXPECT_EQ(deadline, alarm_.deadline());
-    EXPECT_FALSE(alarm_.IsPermanentlyCancelled());
-    alarm_.PermanentCancel();
-  } else {
-    EXPECT_QUIC_BUG(alarm_.Set(deadline),
-                    "Set called after alarm is permanently cancelled");
-    EXPECT_TRUE(alarm_.IsPermanentlyCancelled());
-  }
+  EXPECT_QUIC_BUG(alarm_.Set(deadline),
+                  "Set called after alarm is permanently cancelled");
+  EXPECT_TRUE(alarm_.IsPermanentlyCancelled());
   EXPECT_FALSE(alarm_.IsSet());
   EXPECT_FALSE(alarm_.scheduled());
   EXPECT_EQ(QuicTime::Zero(), alarm_.deadline());
 
-  if (!GetQuicRestartFlag(quic_alarm_add_permanent_cancel)) {
-    alarm_.Update(deadline, QuicTime::Delta::Zero());
-    EXPECT_TRUE(alarm_.IsSet());
-    EXPECT_TRUE(alarm_.scheduled());
-    EXPECT_EQ(deadline, alarm_.deadline());
-    EXPECT_FALSE(alarm_.IsPermanentlyCancelled());
-    alarm_.PermanentCancel();
-  } else {
-    EXPECT_QUIC_BUG(alarm_.Update(deadline, QuicTime::Delta::Zero()),
-                    "Update called after alarm is permanently cancelled");
-    EXPECT_TRUE(alarm_.IsPermanentlyCancelled());
-  }
+  EXPECT_QUIC_BUG(alarm_.Update(deadline, QuicTime::Delta::Zero()),
+                  "Update called after alarm is permanently cancelled");
+  EXPECT_TRUE(alarm_.IsPermanentlyCancelled());
   EXPECT_FALSE(alarm_.IsSet());
   EXPECT_FALSE(alarm_.scheduled());
   EXPECT_EQ(QuicTime::Zero(), alarm_.deadline());
diff --git a/quic/core/quic_buffered_packet_store.cc b/quic/core/quic_buffered_packet_store.cc
index ed1b80e..f235e45 100644
--- a/quic/core/quic_buffered_packet_store.cc
+++ b/quic/core/quic_buffered_packet_store.cc
@@ -77,8 +77,7 @@
           alarm_factory->CreateAlarm(new ConnectionExpireAlarm(this))) {}
 
 QuicBufferedPacketStore::~QuicBufferedPacketStore() {
-  if (GetQuicRestartFlag(quic_alarm_add_permanent_cancel) &&
-      expiration_alarm_ != nullptr) {
+  if (expiration_alarm_ != nullptr) {
     expiration_alarm_->PermanentCancel();
   }
 }
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index bd745fd..8ab5bf9 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -6137,7 +6137,7 @@
 }
 
 void QuicConnection::OnForwardProgressMade() {
-  if (GetQuicRestartFlag(quic_alarm_add_permanent_cancel) && !connected_) {
+  if (!connected_) {
     return;
   }
   if (is_path_degrading_) {
diff --git a/quic/core/quic_dispatcher.cc b/quic/core/quic_dispatcher.cc
index 00bd616..3e33c29 100644
--- a/quic/core/quic_dispatcher.cc
+++ b/quic/core/quic_dispatcher.cc
@@ -359,12 +359,10 @@
       << "Trying to create dispatcher without any supported versions";
   QUIC_DLOG(INFO) << "Created QuicDispatcher with versions: "
                   << ParsedQuicVersionVectorToString(GetSupportedVersions());
-  QUIC_RESTART_FLAG_COUNT(quic_alarm_add_permanent_cancel);
 }
 
 QuicDispatcher::~QuicDispatcher() {
-  if (GetQuicRestartFlag(quic_alarm_add_permanent_cancel) &&
-      delete_sessions_alarm_ != nullptr) {
+  if (delete_sessions_alarm_ != nullptr) {
     delete_sessions_alarm_->PermanentCancel();
   }
   if (clear_stateless_reset_addresses_alarm_ != nullptr) {
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 6f0617c..fecb34d 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -31,8 +31,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_can_send_ack_frequency, true)
 // If true, add missing MaybeUpdateAckTimeout for ack-eliciting frames.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_add_missing_update_ack_timeout, true)
-// If true, allow QuicAlarm to be permanently cancelled.
-QUIC_FLAG(FLAGS_quic_restart_flag_quic_alarm_add_permanent_cancel, true)
 // If true, allow client to enable BBRv2 on server via connection option \'B2ON\'.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_allow_client_enabled_bbr_v2, false)
 // If true, avoid calling reloadable flags in QuicVersionManager constructor by lazily initializing internal state.
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index ad373e3..60a2b45 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -159,8 +159,7 @@
 }
 
 QuicSession::~QuicSession() {
-  if (GetQuicRestartFlag(quic_alarm_add_permanent_cancel) &&
-      closed_streams_clean_up_alarm_ != nullptr) {
+  if (closed_streams_clean_up_alarm_ != nullptr) {
     closed_streams_clean_up_alarm_->PermanentCancel();
   }
 }