Replace QuicheStringPiece with absl::string_view

PiperOrigin-RevId: 336342206
Change-Id: Ia210dcdb4a9f03829f62ce2494b82f600d19bfe5
diff --git a/quic/core/frames/quic_crypto_frame.cc b/quic/core/frames/quic_crypto_frame.cc
index bef5f28..e804f27 100644
--- a/quic/core/frames/quic_crypto_frame.cc
+++ b/quic/core/frames/quic_crypto_frame.cc
@@ -4,8 +4,8 @@
 
 #include "net/third_party/quiche/src/quic/core/frames/quic_crypto_frame.h"
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 
@@ -16,7 +16,7 @@
 
 QuicCryptoFrame::QuicCryptoFrame(EncryptionLevel level,
                                  QuicStreamOffset offset,
-                                 quiche::QuicheStringPiece data)
+                                 absl::string_view data)
     : QuicCryptoFrame(level, offset, data.data(), data.length()) {}
 
 QuicCryptoFrame::QuicCryptoFrame(EncryptionLevel level,
diff --git a/quic/core/frames/quic_crypto_frame.h b/quic/core/frames/quic_crypto_frame.h
index 2bb7a08..a8f0fe3 100644
--- a/quic/core/frames/quic_crypto_frame.h
+++ b/quic/core/frames/quic_crypto_frame.h
@@ -8,10 +8,10 @@
 #include <memory>
 #include <ostream>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/quic_buffer_allocator.h"
 #include "net/third_party/quiche/src/quic/core/quic_types.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_export.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 
@@ -22,7 +22,7 @@
                   QuicPacketLength data_length);
   QuicCryptoFrame(EncryptionLevel level,
                   QuicStreamOffset offset,
-                  quiche::QuicheStringPiece data);
+                  absl::string_view data);
   ~QuicCryptoFrame();
 
   friend QUIC_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
diff --git a/quic/core/frames/quic_stream_frame.cc b/quic/core/frames/quic_stream_frame.cc
index db19999..728d320 100644
--- a/quic/core/frames/quic_stream_frame.cc
+++ b/quic/core/frames/quic_stream_frame.cc
@@ -4,8 +4,8 @@
 
 #include "net/third_party/quiche/src/quic/core/frames/quic_stream_frame.h"
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 
@@ -14,7 +14,7 @@
 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
                                  bool fin,
                                  QuicStreamOffset offset,
-                                 quiche::QuicheStringPiece data)
+                                 absl::string_view data)
     : QuicStreamFrame(stream_id, fin, offset, data.data(), data.length()) {}
 
 QuicStreamFrame::QuicStreamFrame(QuicStreamId stream_id,
diff --git a/quic/core/frames/quic_stream_frame.h b/quic/core/frames/quic_stream_frame.h
index 10ad7db..32b2c74 100644
--- a/quic/core/frames/quic_stream_frame.h
+++ b/quic/core/frames/quic_stream_frame.h
@@ -8,11 +8,11 @@
 #include <memory>
 #include <ostream>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/frames/quic_inlined_frame.h"
 #include "net/third_party/quiche/src/quic/core/quic_buffer_allocator.h"
 #include "net/third_party/quiche/src/quic/core/quic_types.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_export.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 
@@ -22,7 +22,7 @@
   QuicStreamFrame(QuicStreamId stream_id,
                   bool fin,
                   QuicStreamOffset offset,
-                  quiche::QuicheStringPiece data);
+                  absl::string_view data);
   QuicStreamFrame(QuicStreamId stream_id,
                   bool fin,
                   QuicStreamOffset offset,
diff --git a/quic/core/qpack/fuzzer/qpack_decoder_fuzzer.cc b/quic/core/qpack/fuzzer/qpack_decoder_fuzzer.cc
index d5afa99..2139418 100644
--- a/quic/core/qpack/fuzzer/qpack_decoder_fuzzer.cc
+++ b/quic/core/qpack/fuzzer/qpack_decoder_fuzzer.cc
@@ -7,11 +7,11 @@
 #include <limits>
 #include <utility>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/qpack/qpack_decoder.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_fuzzed_data_provider.h"
 #include "net/third_party/quiche/src/quic/test_tools/qpack/qpack_decoder_test_utils.h"
 #include "net/third_party/quiche/src/quic/test_tools/qpack/qpack_test_utils.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 namespace test {
@@ -30,8 +30,7 @@
   ErrorDelegate(bool* error_detected) : error_detected_(error_detected) {}
   ~ErrorDelegate() override = default;
 
-  void OnEncoderStreamError(
-      quiche::QuicheStringPiece /*error_message*/) override {
+  void OnEncoderStreamError(absl::string_view /*error_message*/) override {
     *error_detected_ = true;
   }
 
@@ -51,8 +50,8 @@
         error_detected_(error_detected) {}
   ~HeadersHandler() override = default;
 
-  void OnHeaderDecoded(quiche::QuicheStringPiece /*name*/,
-                       quiche::QuicheStringPiece /*value*/) override {}
+  void OnHeaderDecoded(absl::string_view /*name*/,
+                       absl::string_view /*value*/) override {}
 
   // Remove DecoderAndHandler from |*processing_decoders|.
   void OnDecodingCompleted() override {
@@ -61,8 +60,7 @@
     CHECK_EQ(1u, result);
   }
 
-  void OnDecodingErrorDetected(
-      quiche::QuicheStringPiece /*error_message*/) override {
+  void OnDecodingErrorDetected(absl::string_view /*error_message*/) override {
     *error_detected_ = true;
   }
 
diff --git a/quic/core/qpack/fuzzer/qpack_encoder_stream_receiver_fuzzer.cc b/quic/core/qpack/fuzzer/qpack_encoder_stream_receiver_fuzzer.cc
index 78467a8..ce2ef54 100644
--- a/quic/core/qpack/fuzzer/qpack_encoder_stream_receiver_fuzzer.cc
+++ b/quic/core/qpack/fuzzer/qpack_encoder_stream_receiver_fuzzer.cc
@@ -7,9 +7,9 @@
 #include <cstddef>
 #include <cstdint>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_fuzzed_data_provider.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 namespace test {
@@ -24,14 +24,12 @@
 
   void OnInsertWithNameReference(bool /*is_static*/,
                                  uint64_t /*name_index*/,
-                                 quiche::QuicheStringPiece /*value*/) override {
-  }
-  void OnInsertWithoutNameReference(
-      quiche::QuicheStringPiece /*name*/,
-      quiche::QuicheStringPiece /*value*/) override {}
+                                 absl::string_view /*value*/) override {}
+  void OnInsertWithoutNameReference(absl::string_view /*name*/,
+                                    absl::string_view /*value*/) override {}
   void OnDuplicate(uint64_t /*index*/) override {}
   void OnSetDynamicTableCapacity(uint64_t /*capacity*/) override {}
-  void OnErrorDetected(quiche::QuicheStringPiece /*error_message*/) override {
+  void OnErrorDetected(absl::string_view /*error_message*/) override {
     error_detected_ = true;
   }
 
diff --git a/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc b/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc
index 8c94f1e..c14add3 100644
--- a/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc
+++ b/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc
@@ -8,6 +8,7 @@
 #include <string>
 #include <utility>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/http/quic_header_list.h"
 #include "net/third_party/quiche/src/quic/core/qpack/qpack_decoded_headers_accumulator.h"
 #include "net/third_party/quiche/src/quic/core/qpack/qpack_decoder.h"
@@ -18,7 +19,6 @@
 #include "net/third_party/quiche/src/quic/platform/api/quic_fuzzed_data_provider.h"
 #include "net/third_party/quiche/src/quic/test_tools/qpack/qpack_decoder_test_utils.h"
 #include "net/third_party/quiche/src/quic/test_tools/qpack/qpack_encoder_peer.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_header_block.h"
 
 namespace quic {
@@ -64,8 +64,7 @@
    public:
     ~CrashingDecoderStreamErrorDelegate() override = default;
 
-    void OnDecoderStreamError(
-        quiche::QuicheStringPiece error_message) override {
+    void OnDecoderStreamError(absl::string_view error_message) override {
       CHECK(false) << error_message;
     }
   };
@@ -92,7 +91,7 @@
     virtual void OnHeaderBlockStart(QuicStreamId stream_id) = 0;
     // Called when part or all of a header block is transmitted.
     virtual void OnHeaderBlockFragment(QuicStreamId stream_id,
-                                       quiche::QuicheStringPiece data) = 0;
+                                       absl::string_view data) = 0;
     // Called when transmission of a header block is complete.
     virtual void OnHeaderBlockEnd(QuicStreamId stream_id) = 0;
   };
@@ -205,19 +204,16 @@
 
     size_t RemainingLength() const { return data_.length() - offset_; }
 
-    quiche::QuicheStringPiece Consume(size_t length) {
+    absl::string_view Consume(size_t length) {
       DCHECK_NE(0u, length);
       DCHECK_LE(length, RemainingLength());
 
-      quiche::QuicheStringPiece consumed =
-          quiche::QuicheStringPiece(&data_[offset_], length);
+      absl::string_view consumed = absl::string_view(&data_[offset_], length);
       offset_ += length;
       return consumed;
     }
 
-    quiche::QuicheStringPiece ConsumeRemaining() {
-      return Consume(RemainingLength());
-    }
+    absl::string_view ConsumeRemaining() { return Consume(RemainingLength()); }
 
    private:
     // Complete header block.
@@ -279,11 +275,11 @@
     visitor_->OnHeaderBlockDecoded(stream_id_);
   }
 
-  void OnHeaderDecodingError(quiche::QuicheStringPiece error_message) override {
+  void OnHeaderDecodingError(absl::string_view error_message) override {
     CHECK(false) << error_message;
   }
 
-  void Decode(quiche::QuicheStringPiece data) { accumulator_.Decode(data); }
+  void Decode(absl::string_view data) { accumulator_.Decode(data); }
 
   void EndHeaderBlock() { accumulator_.EndHeaderBlock(); }
 
@@ -362,7 +358,7 @@
   }
 
   void OnHeaderBlockFragment(QuicStreamId stream_id,
-                             quiche::QuicheStringPiece data) override {
+                             absl::string_view data) override {
     auto it = verifying_decoders_.find(stream_id);
     CHECK(it != verifying_decoders_.end());
     it->second->Decode(data);
@@ -381,8 +377,7 @@
    public:
     ~CrashingEncoderStreamErrorDelegate() override = default;
 
-    void OnEncoderStreamError(
-        quiche::QuicheStringPiece error_message) override {
+    void OnEncoderStreamError(absl::string_view error_message) override {
       CHECK(false) << error_message;
     }
   };
@@ -412,7 +407,7 @@
   ~DelayedStreamDataTransmitter() { CHECK(stream_data.empty()); }
 
   // QpackStreamSenderDelegate implementation.
-  void WriteStreamData(quiche::QuicheStringPiece data) override {
+  void WriteStreamData(absl::string_view data) override {
     stream_data.push(std::string(data.data(), data.size()));
   }
 
diff --git a/quic/qbone/platform/icmp_packet.cc b/quic/qbone/platform/icmp_packet.cc
index e64dbba..4a60e26 100644
--- a/quic/qbone/platform/icmp_packet.cc
+++ b/quic/qbone/platform/icmp_packet.cc
@@ -6,9 +6,9 @@
 
 #include <netinet/ip6.h>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/qbone/platform/internet_checksum.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_endian.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 namespace {
@@ -36,12 +36,11 @@
 
 }  // namespace
 
-void CreateIcmpPacket(
-    in6_addr src,
-    in6_addr dst,
-    const icmp6_hdr& icmp_header,
-    quiche::QuicheStringPiece body,
-    const std::function<void(quiche::QuicheStringPiece)>& cb) {
+void CreateIcmpPacket(in6_addr src,
+                      in6_addr dst,
+                      const icmp6_hdr& icmp_header,
+                      absl::string_view body,
+                      const std::function<void(absl::string_view)>& cb) {
   const size_t body_size = std::min(body.size(), kICMPv6BodyMaxSize);
   const size_t payload_size = kICMPv6HeaderSize + body_size;
 
@@ -82,7 +81,7 @@
   const char* packet = reinterpret_cast<char*>(&icmp_packet);
   const size_t packet_size = offsetof(ICMPv6Packet, body) + body_size;
 
-  cb(quiche::QuicheStringPiece(packet, packet_size));
+  cb(absl::string_view(packet, packet_size));
 }
 
 }  // namespace quic
diff --git a/quic/qbone/platform/icmp_packet.h b/quic/qbone/platform/icmp_packet.h
index a762679..ca3fc43 100644
--- a/quic/qbone/platform/icmp_packet.h
+++ b/quic/qbone/platform/icmp_packet.h
@@ -10,8 +10,8 @@
 
 #include <functional>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_ip_address.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 
@@ -21,8 +21,8 @@
 void CreateIcmpPacket(in6_addr src,
                       in6_addr dst,
                       const icmp6_hdr& icmp_header,
-                      quiche::QuicheStringPiece body,
-                      const std::function<void(quiche::QuicheStringPiece)>& cb);
+                      absl::string_view body,
+                      const std::function<void(absl::string_view)>& cb);
 
 }  // namespace quic
 
diff --git a/quic/qbone/platform/icmp_packet_test.cc b/quic/qbone/platform/icmp_packet_test.cc
index 30fbe21..08623e1 100644
--- a/quic/qbone/platform/icmp_packet_test.cc
+++ b/quic/qbone/platform/icmp_packet_test.cc
@@ -8,8 +8,8 @@
 
 #include <cstdint>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_text_utils.h"
 
 namespace quic {
@@ -85,12 +85,12 @@
   icmp_header.icmp6_id = 0x82cb;
   icmp_header.icmp6_seq = 0x0100;
 
-  quiche::QuicheStringPiece message_body = quiche::QuicheStringPiece(
+  absl::string_view message_body = absl::string_view(
       reinterpret_cast<const char*>(kReferenceICMPMessageBody), 56);
-  quiche::QuicheStringPiece expected_packet = quiche::QuicheStringPiece(
+  absl::string_view expected_packet = absl::string_view(
       reinterpret_cast<const char*>(kReferenceICMPPacket), 104);
   CreateIcmpPacket(src_addr, dst_addr, icmp_header, message_body,
-                   [&expected_packet](quiche::QuicheStringPiece packet) {
+                   [&expected_packet](absl::string_view packet) {
                      QUIC_LOG(INFO) << quiche::QuicheTextUtils::HexDump(packet);
                      ASSERT_EQ(packet, expected_packet);
                    });
@@ -114,12 +114,12 @@
   // Set the checksum to a bogus value
   icmp_header.icmp6_cksum = 0x1234;
 
-  quiche::QuicheStringPiece message_body = quiche::QuicheStringPiece(
+  absl::string_view message_body = absl::string_view(
       reinterpret_cast<const char*>(kReferenceICMPMessageBody), 56);
-  quiche::QuicheStringPiece expected_packet = quiche::QuicheStringPiece(
+  absl::string_view expected_packet = absl::string_view(
       reinterpret_cast<const char*>(kReferenceICMPPacket), 104);
   CreateIcmpPacket(src_addr, dst_addr, icmp_header, message_body,
-                   [&expected_packet](quiche::QuicheStringPiece packet) {
+                   [&expected_packet](absl::string_view packet) {
                      QUIC_LOG(INFO) << quiche::QuicheTextUtils::HexDump(packet);
                      ASSERT_EQ(packet, expected_packet);
                    });
diff --git a/quic/qbone/platform/tcp_packet.cc b/quic/qbone/platform/tcp_packet.cc
index 6da9faa..3245f41 100644
--- a/quic/qbone/platform/tcp_packet.cc
+++ b/quic/qbone/platform/tcp_packet.cc
@@ -6,10 +6,10 @@
 
 #include <netinet/ip6.h>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
 #include "net/third_party/quiche/src/quic/qbone/platform/internet_checksum.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_endian.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 namespace {
@@ -30,9 +30,8 @@
 
 }  // namespace
 
-void CreateTcpResetPacket(
-    quiche::QuicheStringPiece original_packet,
-    const std::function<void(quiche::QuicheStringPiece)>& cb) {
+void CreateTcpResetPacket(absl::string_view original_packet,
+                          const std::function<void(absl::string_view)>& cb) {
   // By the time this method is called, original_packet should be fairly
   // strongly validated. However, it's better to be more paranoid than not, so
   // here are a bunch of very obvious checks.
@@ -121,7 +120,7 @@
 
   const char* packet = reinterpret_cast<char*>(&tcp_packet);
 
-  cb(quiche::QuicheStringPiece(packet, sizeof(tcp_packet)));
+  cb(absl::string_view(packet, sizeof(tcp_packet)));
 }
 
 }  // namespace quic
diff --git a/quic/qbone/platform/tcp_packet.h b/quic/qbone/platform/tcp_packet.h
index bb1364b..2038fab 100644
--- a/quic/qbone/platform/tcp_packet.h
+++ b/quic/qbone/platform/tcp_packet.h
@@ -10,16 +10,15 @@
 
 #include <functional>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_ip_address.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 
 // Creates an TCPv6 RST packet, returning a packed string representation of the
 // packet to |cb|.
-void CreateTcpResetPacket(
-    quiche::QuicheStringPiece original_packet,
-    const std::function<void(quiche::QuicheStringPiece)>& cb);
+void CreateTcpResetPacket(absl::string_view original_packet,
+                          const std::function<void(absl::string_view)>& cb);
 
 }  // namespace quic
 
diff --git a/quic/qbone/platform/tcp_packet_test.cc b/quic/qbone/platform/tcp_packet_test.cc
index 84645c8..a143195 100644
--- a/quic/qbone/platform/tcp_packet_test.cc
+++ b/quic/qbone/platform/tcp_packet_test.cc
@@ -8,8 +8,8 @@
 
 #include <cstdint>
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_text_utils.h"
 
 namespace quic {
@@ -102,17 +102,16 @@
 }  // namespace
 
 TEST(TcpPacketTest, CreatedPacketMatchesReference) {
-  quiche::QuicheStringPiece syn = quiche::QuicheStringPiece(
-      reinterpret_cast<const char*>(kReferenceTCPSYNPacket),
-      sizeof(kReferenceTCPSYNPacket));
-  quiche::QuicheStringPiece expected_packet = quiche::QuicheStringPiece(
-      reinterpret_cast<const char*>(kReferenceTCPRSTPacket),
-      sizeof(kReferenceTCPRSTPacket));
-  CreateTcpResetPacket(
-      syn, [&expected_packet](quiche::QuicheStringPiece packet) {
-        QUIC_LOG(INFO) << quiche::QuicheTextUtils::HexDump(packet);
-        ASSERT_EQ(packet, expected_packet);
-      });
+  absl::string_view syn =
+      absl::string_view(reinterpret_cast<const char*>(kReferenceTCPSYNPacket),
+                        sizeof(kReferenceTCPSYNPacket));
+  absl::string_view expected_packet =
+      absl::string_view(reinterpret_cast<const char*>(kReferenceTCPRSTPacket),
+                        sizeof(kReferenceTCPRSTPacket));
+  CreateTcpResetPacket(syn, [&expected_packet](absl::string_view packet) {
+    QUIC_LOG(INFO) << quiche::QuicheTextUtils::HexDump(packet);
+    ASSERT_EQ(packet, expected_packet);
+  });
 }
 
 }  // namespace quic
diff --git a/quic/test_tools/fuzzing/quic_framer_fuzzer.cc b/quic/test_tools/fuzzing/quic_framer_fuzzer.cc
index a63f963..a095750 100644
--- a/quic/test_tools/fuzzing/quic_framer_fuzzer.cc
+++ b/quic/test_tools/fuzzing/quic_framer_fuzzer.cc
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/crypto/crypto_framer.h"
 #include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake_message.h"
 #include "net/third_party/quiche/src/quic/core/quic_framer.h"
 #include "net/third_party/quiche/src/quic/core/quic_packets.h"
 #include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
   quic::QuicFramer framer(quic::AllSupportedVersions(), quic::QuicTime::Zero(),
@@ -16,7 +16,7 @@
   const char* const packet_bytes = reinterpret_cast<const char*>(data);
 
   // Test the CryptoFramer.
-  quiche::QuicheStringPiece crypto_input(packet_bytes, size);
+  absl::string_view crypto_input(packet_bytes, size);
   std::unique_ptr<quic::CryptoHandshakeMessage> handshake_message(
       quic::CryptoFramer::ParseMessage(crypto_input));
 
diff --git a/quic/test_tools/simulator/quic_endpoint.h b/quic/test_tools/simulator/quic_endpoint.h
index ff9b680..39c4855 100644
--- a/quic/test_tools/simulator/quic_endpoint.h
+++ b/quic/test_tools/simulator/quic_endpoint.h
@@ -5,6 +5,7 @@
 #ifndef QUICHE_QUIC_TEST_TOOLS_SIMULATOR_QUIC_ENDPOINT_H_
 #define QUICHE_QUIC_TEST_TOOLS_SIMULATOR_QUIC_ENDPOINT_H_
 
+#include "absl/strings/string_view.h"
 #include "net/third_party/quiche/src/quic/core/crypto/null_decrypter.h"
 #include "net/third_party/quiche/src/quic/core/crypto/null_encrypter.h"
 #include "net/third_party/quiche/src/quic/core/quic_connection.h"
@@ -17,7 +18,6 @@
 #include "net/third_party/quiche/src/quic/test_tools/simulator/link.h"
 #include "net/third_party/quiche/src/quic/test_tools/simulator/queue.h"
 #include "net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_base.h"
-#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 
 namespace quic {
 namespace simulator {
@@ -64,7 +64,7 @@
   void OnBlockedFrame(const QuicBlockedFrame& /*frame*/) override {}
   void OnRstStream(const QuicRstStreamFrame& /*frame*/) override {}
   void OnGoAway(const QuicGoAwayFrame& /*frame*/) override {}
-  void OnMessageReceived(quiche::QuicheStringPiece /*message*/) override {}
+  void OnMessageReceived(absl::string_view /*message*/) override {}
   void OnHandshakeDoneReceived() override {}
   void OnConnectionClosed(const QuicConnectionCloseFrame& /*frame*/,
                           ConnectionCloseSource /*source*/) override {}