Use quiche string libraries in third_party/quic/quic_transport gfe-relnote: n/a, no functional change PiperOrigin-RevId: 285220971 Change-Id: I9c8078ffcbea3c0dc04a137e84cd56d5b39311dc
diff --git a/quic/quic_transport/quic_transport_client_session.cc b/quic/quic_transport/quic_transport_client_session.cc index f316813..7bc0473 100644 --- a/quic/quic_transport/quic_transport_client_session.cc +++ b/quic/quic_transport/quic_transport_client_session.cc
@@ -18,10 +18,9 @@ #include "net/third_party/quiche/src/quic/core/quic_versions.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_protocol.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_stream.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { @@ -67,7 +66,8 @@ proof_handler); } -void QuicTransportClientSession::OnAlpnSelected(QuicStringPiece alpn) { +void QuicTransportClientSession::OnAlpnSelected( + quiche::QuicheStringPiece alpn) { // Defense in-depth: ensure the ALPN selected is the desired one. if (alpn != QuicTransportAlpn()) { QUIC_BUG << "QuicTransport negotiated non-QuicTransport ALPN: " << alpn;
diff --git a/quic/quic_transport/quic_transport_client_session.h b/quic/quic_transport/quic_transport_client_session.h index c09b076..d9c794d 100644 --- a/quic/quic_transport/quic_transport_client_session.h +++ b/quic/quic_transport/quic_transport_client_session.h
@@ -21,10 +21,10 @@ #include "net/third_party/quiche/src/quic/core/quic_versions.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" #include "net/third_party/quiche/src/quic/platform/api/quic_containers.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_protocol.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_session_interface.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_stream.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { @@ -60,7 +60,7 @@ std::vector<std::string> GetAlpnsToOffer() const override { return std::vector<std::string>({QuicTransportAlpn()}); } - void OnAlpnSelected(QuicStringPiece alpn) override; + void OnAlpnSelected(quiche::QuicheStringPiece alpn) override; bool alpn_received() const { return alpn_received_; } void CryptoConnect() { crypto_stream_->CryptoConnect(); }
diff --git a/quic/quic_transport/quic_transport_client_session_test.cc b/quic/quic_transport/quic_transport_client_session_test.cc index 1225352..a1f9e28 100644 --- a/quic/quic_transport/quic_transport_client_session_test.cc +++ b/quic/quic_transport/quic_transport_client_session_test.cc
@@ -14,7 +14,6 @@ #include "net/third_party/quiche/src/quic/core/quic_utils.h" #include "net/third_party/quiche/src/quic/platform/api/quic_arraysize.h" #include "net/third_party/quiche/src/quic/platform/api/quic_expect_bug.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_str_cat.h" #include "net/third_party/quiche/src/quic/platform/api/quic_test.h" #include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h" #include "net/third_party/quiche/src/quic/test_tools/quic_session_peer.h"
diff --git a/quic/quic_transport/quic_transport_protocol.h b/quic/quic_transport/quic_transport_protocol.h index f97b8e7..23f0d8d 100644 --- a/quic/quic_transport/quic_transport_protocol.h +++ b/quic/quic_transport/quic_transport_protocol.h
@@ -7,7 +7,6 @@ #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/quic/platform/api/quic_string_piece.h" namespace quic {
diff --git a/quic/quic_transport/quic_transport_server_session.cc b/quic/quic_transport/quic_transport_server_session.cc index a6d7c21..21ffa2b 100644 --- a/quic/quic_transport/quic_transport_server_session.cc +++ b/quic/quic_transport/quic_transport_server_session.cc
@@ -13,10 +13,10 @@ #include "net/third_party/quiche/src/quic/core/quic_error_codes.h" #include "net/third_party/quiche/src/quic/core/quic_stream.h" #include "net/third_party/quiche/src/quic/core/quic_types.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_str_cat.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_protocol.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_stream.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_str_cat.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { @@ -87,8 +87,8 @@ if (buffer_.size() > ClientIndicationMaxSize()) { session_->connection()->CloseConnection( QUIC_TRANSPORT_INVALID_CLIENT_INDICATION, - QuicStrCat("Client indication size exceeds ", ClientIndicationMaxSize(), - " bytes"), + quiche::QuicheStrCat("Client indication size exceeds ", + ClientIndicationMaxSize(), " bytes"), ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); return; } @@ -108,9 +108,9 @@ return false; } - QuicStringPiece value; + quiche::QuicheStringPiece value; if (!reader_.ReadStringPiece16(&value)) { - ParseError(QuicStrCat("Failed to read value for key ", key)); + ParseError(quiche::QuicheStrCat("Failed to read value for key ", key)); return false; } @@ -159,7 +159,7 @@ } bool QuicTransportServerSession::ClientIndicationParser::ProcessPath( - QuicStringPiece path) { + quiche::QuicheStringPiece path) { if (path.empty() || path[0] != '/') { // https://tools.ietf.org/html/draft-vvv-webtransport-quic-01#section-3.2.2 Error("Path must begin with a '/'"); @@ -168,9 +168,9 @@ // TODO(b/145674008): use the SNI value from the handshake instead of the IP // address. - std::string url_text = - QuicStrCat(url::kQuicTransportScheme, url::kStandardSchemeSeparator, - session_->self_address().ToString(), path); + std::string url_text = quiche::QuicheStrCat( + url::kQuicTransportScheme, url::kStandardSchemeSeparator, + session_->self_address().ToString(), path); GURL url{url_text}; if (!url.is_valid()) { Error("Invalid path specified"); @@ -192,13 +192,13 @@ } void QuicTransportServerSession::ClientIndicationParser::ParseError( - QuicStringPiece error_message) { - Error(QuicStrCat("Failed to parse the client indication stream: ", - error_message, reader_.DebugString())); + quiche::QuicheStringPiece error_message) { + Error(quiche::QuicheStrCat("Failed to parse the client indication stream: ", + error_message, reader_.DebugString())); } void QuicTransportServerSession::ProcessClientIndication( - QuicStringPiece indication) { + quiche::QuicheStringPiece indication) { ClientIndicationParser parser(this, indication); if (!parser.Parse()) { return;
diff --git a/quic/quic_transport/quic_transport_server_session.h b/quic/quic_transport/quic_transport_server_session.h index 8b0c063..4630e22 100644 --- a/quic/quic_transport/quic_transport_server_session.h +++ b/quic/quic_transport/quic_transport_server_session.h
@@ -10,10 +10,10 @@ #include "net/third_party/quiche/src/quic/core/quic_connection.h" #include "net/third_party/quiche/src/quic/core/quic_crypto_server_stream.h" #include "net/third_party/quiche/src/quic/core/quic_session.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_protocol.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_session_interface.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_stream.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { @@ -44,8 +44,8 @@ QuicCompressedCertsCache* compressed_certs_cache, ServerVisitor* visitor); - std::vector<QuicStringPiece>::const_iterator SelectAlpn( - const std::vector<QuicStringPiece>& alpns) const override { + std::vector<quiche::QuicheStringPiece>::const_iterator SelectAlpn( + const std::vector<quiche::QuicheStringPiece>& alpns) const override { return std::find(alpns.cbegin(), alpns.cend(), QuicTransportAlpn()); } @@ -86,7 +86,7 @@ class QUIC_EXPORT_PRIVATE ClientIndicationParser { public: ClientIndicationParser(QuicTransportServerSession* session, - QuicStringPiece indication) + quiche::QuicheStringPiece indication) : session_(session), reader_(indication) {} // Parses the specified indication. Automatically closes the connection @@ -96,10 +96,10 @@ private: void Error(const std::string& error_message); - void ParseError(QuicStringPiece error_message); + void ParseError(quiche::QuicheStringPiece error_message); // Processes the path portion of the client indication. - bool ProcessPath(QuicStringPiece path); + bool ProcessPath(quiche::QuicheStringPiece path); QuicTransportServerSession* session_; QuicDataReader reader_; @@ -107,7 +107,7 @@ // Parses and processes the client indication as described in // https://vasilvv.github.io/webtransport/draft-vvv-webtransport-quic.html#rfc.section.3.2 - void ProcessClientIndication(QuicStringPiece indication); + void ProcessClientIndication(quiche::QuicheStringPiece indication); virtual void OnIncomingDataStream(QuicTransportStream* /*stream*/) {}
diff --git a/quic/quic_transport/quic_transport_server_session_test.cc b/quic/quic_transport/quic_transport_server_session_test.cc index f99997a..f74fb53 100644 --- a/quic/quic_transport/quic_transport_server_session_test.cc +++ b/quic/quic_transport/quic_transport_server_session_test.cc
@@ -15,13 +15,13 @@ #include "net/third_party/quiche/src/quic/core/frames/quic_stream_frame.h" #include "net/third_party/quiche/src/quic/core/quic_data_writer.h" #include "net/third_party/quiche/src/quic/core/quic_versions.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" #include "net/third_party/quiche/src/quic/platform/api/quic_test.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_protocol.h" #include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h" #include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h" #include "net/third_party/quiche/src/quic/test_tools/quic_transport_test_tools.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 { namespace test { @@ -91,9 +91,9 @@ QuicServerId("test.example.com", 443), options, QuicTransportAlpn()); } - void ReceiveIndication(QuicStringPiece indication) { + void ReceiveIndication(quiche::QuicheStringPiece indication) { QUIC_LOG(INFO) << "Receiving indication: " - << QuicTextUtils::HexDump(indication); + << quiche::QuicheTextUtils::HexDump(indication); constexpr size_t kChunkSize = 1024; // Shard the indication, since some of the tests cause it to not fit into a // single frame. @@ -104,10 +104,10 @@ } session_->OnStreamFrame(QuicStreamFrame(ClientIndicationStream(), /*fin=*/true, indication.size(), - QuicStringPiece())); + quiche::QuicheStringPiece())); } - void ReceiveIndicationWithPath(QuicStringPiece path) { + void ReceiveIndicationWithPath(quiche::QuicheStringPiece path) { constexpr char kTestOriginClientIndicationPrefix[] = "\0\0" // key (0x0000, origin) "\0\x18" // length @@ -150,15 +150,16 @@ Connect(); size_t i = 0; for (; i < sizeof(kTestOriginClientIndication) - 2; i++) { - QuicStreamFrame frame(ClientIndicationStream(), false, i, - QuicStringPiece(&kTestOriginClientIndication[i], 1)); + QuicStreamFrame frame( + ClientIndicationStream(), false, i, + quiche::QuicheStringPiece(&kTestOriginClientIndication[i], 1)); session_->OnStreamFrame(frame); } EXPECT_CALL(visitor_, CheckOrigin(_)).WillOnce(Return(true)); QuicStreamFrame last_frame( ClientIndicationStream(), true, i, - QuicStringPiece(&kTestOriginClientIndication[i], 1)); + quiche::QuicheStringPiece(&kTestOriginClientIndication[i], 1)); session_->OnStreamFrame(last_frame); EXPECT_TRUE(session_->IsSessionReady()); } @@ -172,7 +173,7 @@ EXPECT_FALSE(session_->IsSessionReady()); } -std::string MakeUnknownField(QuicStringPiece payload) { +std::string MakeUnknownField(quiche::QuicheStringPiece payload) { std::string buffer; buffer.resize(payload.size() + 4); QuicDataWriter writer(buffer.size(), &buffer[0]);
diff --git a/quic/quic_transport/quic_transport_stream.cc b/quic/quic_transport/quic_transport_stream.cc index 61f4345..ac54fa3 100644 --- a/quic/quic_transport/quic_transport_stream.cc +++ b/quic/quic_transport/quic_transport_stream.cc
@@ -8,7 +8,7 @@ #include "net/third_party/quiche/src/quic/core/quic_types.h" #include "net/third_party/quiche/src/quic/core/quic_utils.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { @@ -49,7 +49,7 @@ return bytes_read; } -bool QuicTransportStream::Write(QuicStringPiece data) { +bool QuicTransportStream::Write(quiche::QuicheStringPiece data) { if (!CanWrite()) { return false; } @@ -64,7 +64,7 @@ return false; } - WriteOrBufferData(QuicStringPiece(), /*fin=*/true, nullptr); + WriteOrBufferData(quiche::QuicheStringPiece(), /*fin=*/true, nullptr); return true; }
diff --git a/quic/quic_transport/quic_transport_stream.h b/quic/quic_transport/quic_transport_stream.h index 1651a1c..d558cdb 100644 --- a/quic/quic_transport/quic_transport_stream.h +++ b/quic/quic_transport/quic_transport_stream.h
@@ -12,8 +12,8 @@ #include "net/third_party/quiche/src/quic/core/quic_stream.h" #include "net/third_party/quiche/src/quic/core/quic_types.h" #include "net/third_party/quiche/src/quic/platform/api/quic_macros.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h" #include "net/third_party/quiche/src/quic/quic_transport/quic_transport_session_interface.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { @@ -40,7 +40,7 @@ // Reads all available data and appends it to the end of |output|. size_t Read(std::string* output); // Writes |data| into the stream. Returns true on success. - QUIC_MUST_USE_RESULT bool Write(QuicStringPiece data); + QUIC_MUST_USE_RESULT bool Write(quiche::QuicheStringPiece data); // Sends the FIN on the stream. Returns true on success. QUIC_MUST_USE_RESULT bool SendFin();
diff --git a/quic/quic_transport/quic_transport_stream_test.cc b/quic/quic_transport/quic_transport_stream_test.cc index c291b54..eda6af6 100644 --- a/quic/quic_transport/quic_transport_stream_test.cc +++ b/quic/quic_transport/quic_transport_stream_test.cc
@@ -14,6 +14,7 @@ #include "net/third_party/quiche/src/quic/test_tools/quic_config_peer.h" #include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h" #include "net/third_party/quiche/src/quic/test_tools/quic_transport_test_tools.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" namespace quic { namespace test { @@ -48,7 +49,8 @@ stream_->set_visitor(std::move(visitor)); } - void ReceiveStreamData(QuicStringPiece data, QuicStreamOffset offset) { + void ReceiveStreamData(quiche::QuicheStringPiece data, + QuicStreamOffset offset) { QuicStreamFrame frame(0, false, offset, data); stream_->OnStreamFrame(frame); }