Replace QuicheStrCat with absl::StrCat and absl::StrFormat.

We're already using absl::FormatUntyped, so this shouldn't cause any problems with merge.

PiperOrigin-RevId: 355684711
Change-Id: Ia7162fa3da942fb8ea5a9bb62f42e4273244f645
diff --git a/common/platform/api/quiche_str_cat.h b/common/platform/api/quiche_str_cat.h
deleted file mode 100644
index b996401..0000000
--- a/common/platform/api/quiche_str_cat.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef QUICHE_COMMON_PLATFORM_API_QUICHE_STR_CAT_H_
-#define QUICHE_COMMON_PLATFORM_API_QUICHE_STR_CAT_H_
-
-#include <string>
-#include <utility>
-
-#include "net/quiche/common/platform/impl/quiche_str_cat_impl.h"
-
-namespace quiche {
-
-template <typename... Args>
-inline std::string QuicheStringPrintf(const Args&... args) {
-  return QuicheStringPrintfImpl(std::forward<const Args&>(args)...);
-}
-
-}  // namespace quiche
-
-#endif  // QUICHE_COMMON_PLATFORM_API_QUICHE_STR_CAT_H_
diff --git a/http2/platform/api/http2_string_utils_test.cc b/http2/platform/api/http2_string_utils_test.cc
index 4d3f02f..1621b52 100644
--- a/http2/platform/api/http2_string_utils_test.cc
+++ b/http2/platform/api/http2_string_utils_test.cc
@@ -7,7 +7,6 @@
 #include <cstdint>
 
 #include "absl/strings/string_view.h"
-#include "common/platform/api/quiche_str_cat.h"
 #include "common/platform/api/quiche_test.h"
 
 namespace http2 {
diff --git a/quic/core/crypto/crypto_handshake_message.cc b/quic/core/crypto/crypto_handshake_message.cc
index e663eec..9628ed9 100644
--- a/quic/core/crypto/crypto_handshake_message.cc
+++ b/quic/core/crypto/crypto_handshake_message.cc
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "absl/strings/escaping.h"
+#include "absl/strings/str_format.h"
 #include "absl/strings/string_view.h"
 #include "quic/core/crypto/crypto_framer.h"
 #include "quic/core/crypto/crypto_protocol.h"
@@ -15,7 +16,6 @@
 #include "quic/core/quic_socket_address_coder.h"
 #include "quic/core/quic_utils.h"
 #include "quic/platform/api/quic_map_util.h"
-#include "common/platform/api/quiche_str_cat.h"
 #include "common/platform/api/quiche_text_utils.h"
 #include "common/quiche_endian.h"
 
@@ -357,8 +357,7 @@
         }
         break;
       case kPAD:
-        ret += quiche::QuicheStringPrintf("(%d bytes of padding)",
-                                          static_cast<int>(it->second.size()));
+        ret += absl::StrFormat("(%d bytes of padding)", it->second.size());
         done = true;
         break;
       case kSNI:
diff --git a/quic/core/http/quic_spdy_client_session_test.cc b/quic/core/http/quic_spdy_client_session_test.cc
index 8a02cf7..e2b5003 100644
--- a/quic/core/http/quic_spdy_client_session_test.cc
+++ b/quic/core/http/quic_spdy_client_session_test.cc
@@ -39,7 +39,6 @@
 #include "quic/test_tools/quic_stream_peer.h"
 #include "quic/test_tools/quic_test_utils.h"
 #include "quic/test_tools/simple_session_cache.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 using spdy::SpdyHeaderBlock;
 using ::testing::_;
@@ -769,7 +768,7 @@
 TEST_P(QuicSpdyClientSessionTest, ReceivingPromiseEnhanceYourCalm) {
   CompleteCryptoHandshake();
   for (size_t i = 0u; i < session_->get_max_promises(); i++) {
-    push_promise_[":path"] = quiche::QuicheStringPrintf("/bar%zu", i);
+    push_promise_[":path"] = absl::StrCat("/bar", i);
 
     QuicStreamId id =
         promised_stream_id_ +
@@ -787,7 +786,7 @@
 
   // One more promise, this should be refused.
   int i = session_->get_max_promises();
-  push_promise_[":path"] = quiche::QuicheStringPrintf("/bar%d", i);
+  push_promise_[":path"] = absl::StrCat("/bar", i);
 
   QuicStreamId id =
       promised_stream_id_ +
diff --git a/quic/core/legacy_quic_stream_id_manager.cc b/quic/core/legacy_quic_stream_id_manager.cc
index 36974af..07403f8 100644
--- a/quic/core/legacy_quic_stream_id_manager.cc
+++ b/quic/core/legacy_quic_stream_id_manager.cc
@@ -8,7 +8,6 @@
 #include "quic/core/quic_utils.h"
 #include "quic/core/quic_versions.h"
 #include "quic/platform/api/quic_map_util.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 
diff --git a/quic/core/quic_bandwidth.cc b/quic/core/quic_bandwidth.cc
index 4943f67..b4108be 100644
--- a/quic/core/quic_bandwidth.cc
+++ b/quic/core/quic_bandwidth.cc
@@ -7,16 +7,15 @@
 #include <cinttypes>
 #include <string>
 
+#include "absl/strings/str_format.h"
 #include "absl/strings/string_view.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 
 std::string QuicBandwidth::ToDebuggingValue() const {
   if (bits_per_second_ < 80000) {
-    return quiche::QuicheStringPrintf("%" PRId64 " bits/s (%" PRId64
-                                      " bytes/s)",
-                                      bits_per_second_, bits_per_second_ / 8);
+    return absl::StrFormat("%d bits/s (%d bytes/s)", bits_per_second_,
+                           bits_per_second_ / 8);
   }
 
   double divisor;
@@ -34,9 +33,9 @@
 
   double bits_per_second_with_unit = bits_per_second_ / divisor;
   double bytes_per_second_with_unit = bits_per_second_with_unit / 8;
-  return quiche::QuicheStringPrintf("%.2f %cbits/s (%.2f %cbytes/s)",
-                                    bits_per_second_with_unit, unit,
-                                    bytes_per_second_with_unit, unit);
+  return absl::StrFormat("%.2f %cbits/s (%.2f %cbytes/s)",
+                         bits_per_second_with_unit, unit,
+                         bytes_per_second_with_unit, unit);
 }
 
 }  // namespace quic
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index d00d523..5746d75 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -56,7 +56,6 @@
 #include "quic/platform/api/quic_export.h"
 #include "quic/platform/api/quic_flags.h"
 #include "quic/platform/api/quic_socket_address.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 
diff --git a/quic/core/quic_control_frame_manager.h b/quic/core/quic_control_frame_manager.h
index cb0a8cb..e4a5526 100644
--- a/quic/core/quic_control_frame_manager.h
+++ b/quic/core/quic_control_frame_manager.h
@@ -11,7 +11,6 @@
 #include "quic/core/frames/quic_frame.h"
 #include "quic/core/quic_circular_deque.h"
 #include "quic/core/quic_connection_id.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 
diff --git a/quic/core/quic_data_reader.cc b/quic/core/quic_data_reader.cc
index d15dd6e..7b605d3 100644
--- a/quic/core/quic_data_reader.cc
+++ b/quic/core/quic_data_reader.cc
@@ -9,7 +9,6 @@
 #include "quic/core/quic_utils.h"
 #include "quic/platform/api/quic_bug_tracker.h"
 #include "quic/platform/api/quic_flags.h"
-#include "common/platform/api/quiche_str_cat.h"
 #include "common/quiche_endian.h"
 
 namespace quic {
diff --git a/quic/core/quic_data_writer.cc b/quic/core/quic_data_writer.cc
index 39cbc5a..1753bbe 100644
--- a/quic/core/quic_data_writer.cc
+++ b/quic/core/quic_data_writer.cc
@@ -12,7 +12,6 @@
 #include "quic/core/quic_constants.h"
 #include "quic/platform/api/quic_bug_tracker.h"
 #include "quic/platform/api/quic_flags.h"
-#include "common/platform/api/quiche_str_cat.h"
 #include "common/quiche_endian.h"
 
 namespace quic {
diff --git a/quic/core/quic_time.cc b/quic/core/quic_time.cc
index 14217a9..daf8e29 100644
--- a/quic/core/quic_time.cc
+++ b/quic/core/quic_time.cc
@@ -9,25 +9,27 @@
 #include <limits>
 #include <string>
 
-#include "common/platform/api/quiche_str_cat.h"
+#include "absl/strings/str_cat.h"
 
 namespace quic {
 
 std::string QuicTime::Delta::ToDebuggingValue() const {
-  const int64_t one_ms = 1000;
-  const int64_t one_s = 1000 * one_ms;
+  constexpr int64_t kMillisecondInMicroseconds = 1000;
+  constexpr int64_t kSecondInMicroseconds = 1000 * kMillisecondInMicroseconds;
 
   int64_t absolute_value = std::abs(time_offset_);
 
   // For debugging purposes, always display the value with the highest precision
   // available.
-  if (absolute_value > one_s && absolute_value % one_s == 0) {
-    return quiche::QuicheStringPrintf("%" PRId64 "s", time_offset_ / one_s);
+  if (absolute_value > kSecondInMicroseconds &&
+      absolute_value % kSecondInMicroseconds == 0) {
+    return absl::StrCat(time_offset_ / kSecondInMicroseconds, "s");
   }
-  if (absolute_value > one_ms && absolute_value % one_ms == 0) {
-    return quiche::QuicheStringPrintf("%" PRId64 "ms", time_offset_ / one_ms);
+  if (absolute_value > kMillisecondInMicroseconds &&
+      absolute_value % kMillisecondInMicroseconds == 0) {
+    return absl::StrCat(time_offset_ / kMillisecondInMicroseconds, "ms");
   }
-  return quiche::QuicheStringPrintf("%" PRId64 "us", time_offset_);
+  return absl::StrCat(time_offset_, "us");
 }
 
 uint64_t QuicWallTime::ToUNIXSeconds() const {
diff --git a/quic/test_tools/simulator/alarm_factory.cc b/quic/test_tools/simulator/alarm_factory.cc
index 4e1ed2e..86ee49e 100644
--- a/quic/test_tools/simulator/alarm_factory.cc
+++ b/quic/test_tools/simulator/alarm_factory.cc
@@ -4,8 +4,8 @@
 
 #include "quic/test_tools/simulator/alarm_factory.h"
 
+#include "absl/strings/str_format.h"
 #include "quic/core/quic_alarm.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 namespace simulator {
@@ -58,7 +58,7 @@
 
 std::string AlarmFactory::GetNewAlarmName() {
   ++counter_;
-  return quiche::QuicheStringPrintf("%s (alarm %i)", name_.c_str(), counter_);
+  return absl::StrFormat("%s (alarm %i)", name_, counter_);
 }
 
 QuicAlarm* AlarmFactory::CreateAlarm(QuicAlarm::Delegate* delegate) {
diff --git a/quic/test_tools/simulator/link.cc b/quic/test_tools/simulator/link.cc
index 16850a9..6d43597 100644
--- a/quic/test_tools/simulator/link.cc
+++ b/quic/test_tools/simulator/link.cc
@@ -4,8 +4,9 @@
 
 #include "quic/test_tools/simulator/link.h"
 
+#include "absl/strings/str_cat.h"
+#include "absl/strings/str_format.h"
 #include "quic/test_tools/simulator/simulator.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 namespace simulator {
@@ -96,12 +97,12 @@
                              QuicBandwidth bandwidth,
                              QuicTime::Delta propagation_delay)
     : a_to_b_link_(simulator,
-                   quiche::QuicheStringPrintf("%s (A-to-B)", name.c_str()),
+                   absl::StrCat(name, " (A-to-B)"),
                    sink_b,
                    bandwidth,
                    propagation_delay),
       b_to_a_link_(simulator,
-                   quiche::QuicheStringPrintf("%s (B-to-A)", name.c_str()),
+                   absl::StrCat(name, " (B-to-A)"),
                    sink_a,
                    bandwidth,
                    propagation_delay) {}
@@ -111,9 +112,9 @@
                              QuicBandwidth bandwidth,
                              QuicTime::Delta propagation_delay)
     : SymmetricLink(endpoint_a->simulator(),
-                    quiche::QuicheStringPrintf("Link [%s]<->[%s]",
-                                               endpoint_a->name().c_str(),
-                                               endpoint_b->name().c_str()),
+                    absl::StrFormat("Link [%s]<->[%s]",
+                                    endpoint_a->name(),
+                                    endpoint_b->name()),
                     endpoint_a->GetRxPort(),
                     endpoint_b->GetRxPort(),
                     bandwidth,
diff --git a/quic/test_tools/simulator/quic_endpoint_base.cc b/quic/test_tools/simulator/quic_endpoint_base.cc
index a563a29..b4882b8 100644
--- a/quic/test_tools/simulator/quic_endpoint_base.cc
+++ b/quic/test_tools/simulator/quic_endpoint_base.cc
@@ -16,7 +16,6 @@
 #include "quic/test_tools/quic_connection_peer.h"
 #include "quic/test_tools/quic_test_utils.h"
 #include "quic/test_tools/simulator/simulator.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 namespace simulator {
@@ -61,7 +60,7 @@
       peer_name_(peer_name),
       writer_(this),
       nic_tx_queue_(simulator,
-                    quiche::QuicheStringPrintf("%s (TX Queue)", name.c_str()),
+                    absl::StrCat(name, " (TX Queue)"),
                     kMaxOutgoingPacketSize * kTxQueueSize),
       connection_(nullptr),
       write_blocked_count_(0),
diff --git a/quic/test_tools/simulator/switch.cc b/quic/test_tools/simulator/switch.cc
index cdfe6c1..3a8ee58 100644
--- a/quic/test_tools/simulator/switch.cc
+++ b/quic/test_tools/simulator/switch.cc
@@ -7,7 +7,6 @@
 
 #include "absl/strings/str_cat.h"
 #include "quic/test_tools/simulator/switch.h"
-#include "common/platform/api/quiche_str_cat.h"
 
 namespace quic {
 namespace simulator {
@@ -34,9 +33,7 @@
       parent_(parent),
       port_number_(port_number),
       connected_(false),
-      queue_(simulator,
-             quiche::QuicheStringPrintf("%s (queue)", name.c_str()),
-             queue_capacity) {}
+      queue_(simulator, absl::StrCat(name, " (queue)"), queue_capacity) {}
 
 void Switch::Port::AcceptPacket(std::unique_ptr<Packet> packet) {
   parent_->DispatchPacket(port_number_, std::move(packet));