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);
}