summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quic/test_tools
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-01-23 17:21:03 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-01-23 16:25:15 +0000
commitc551f43206405019121bd2b2c93714319a0a3300 (patch)
tree1f48c30631c421fd4bbb3c36da20183c8a2ed7d7 /chromium/net/third_party/quiche/src/quic/test_tools
parent7961cea6d1041e3e454dae6a1da660b453efd238 (diff)
downloadqtwebengine-chromium-c551f43206405019121bd2b2c93714319a0a3300.tar.gz
BASELINE: Update Chromium to 79.0.3945.139
Change-Id: I336b7182fab9bca80b709682489c07db112eaca5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/net/third_party/quiche/src/quic/test_tools')
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.cc37
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h6
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc7
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/fake_proof_source.cc7
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h5
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.cc24
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.h12
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.cc19
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h8
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.cc7
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.h2
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.cc6
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.h1
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.cc14
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.h5
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.cc31
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.h3
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_spdy_session_peer.cc8
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.cc13
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.h4
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_test_client.cc12
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.cc18
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.h1
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.cc123
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.h55
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simple_data_producer.cc5
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simple_quic_framer.cc15
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simple_session_notifier_test.cc4
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc16
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_test.cc21
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simulator/simulator_test.cc11
-rw-r--r--chromium/net/third_party/quiche/src/quic/test_tools/simulator/switch.cc4
32 files changed, 364 insertions, 140 deletions
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.cc b/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.cc
index 27e47b2172f..98d65e8d0fe 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.cc
@@ -6,6 +6,7 @@
#include <memory>
#include <string>
+#include <utility>
#include "third_party/boringssl/src/include/openssl/bn.h"
#include "third_party/boringssl/src/include/openssl/ec.h"
@@ -25,10 +26,10 @@
#include "net/third_party/quiche/src/quic/core/quic_crypto_stream.h"
#include "net/third_party/quiche/src/quic/core/quic_server_id.h"
#include "net/third_party/quiche/src/quic/core/quic_utils.h"
+#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_clock.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.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"
@@ -45,6 +46,8 @@ namespace crypto_test_utils {
namespace {
+using testing::_;
+
// CryptoFramerVisitor is a framer visitor that records handshake messages.
class CryptoFramerVisitor : public CryptoFramerVisitorInterface {
public:
@@ -130,7 +133,7 @@ class FullChloGenerator {
std::unique_ptr<ValidateClientHelloCallback>
GetValidateClientHelloCallback() {
- return QuicMakeUnique<ValidateClientHelloCallback>(this);
+ return std::make_unique<ValidateClientHelloCallback>(this);
}
private:
@@ -164,7 +167,7 @@ class FullChloGenerator {
};
std::unique_ptr<ProcessClientHelloCallback> GetProcessClientHelloCallback() {
- return QuicMakeUnique<ProcessClientHelloCallback>(this);
+ return std::make_unique<ProcessClientHelloCallback>(this);
}
void ProcessClientHelloDone(std::unique_ptr<CryptoHandshakeMessage> rej) {
@@ -210,7 +213,8 @@ int HandshakeWithFakeServer(QuicConfig* server_quic_config,
MockQuicConnectionHelper* helper,
MockAlarmFactory* alarm_factory,
PacketSavingConnection* client_conn,
- QuicCryptoClientStream* client) {
+ QuicCryptoClientStream* client,
+ std::string alpn) {
PacketSavingConnection* server_conn = new PacketSavingConnection(
helper, alarm_factory, Perspective::IS_SERVER,
ParsedVersionOfIndex(client_conn->supported_versions(), 0));
@@ -234,6 +238,10 @@ int HandshakeWithFakeServer(QuicConfig* server_quic_config,
.Times(testing::AnyNumber());
EXPECT_CALL(*server_conn, OnCanWrite()).Times(testing::AnyNumber());
EXPECT_CALL(*client_conn, OnCanWrite()).Times(testing::AnyNumber());
+ EXPECT_CALL(server_session, SelectAlpn(_))
+ .WillRepeatedly([alpn](const std::vector<QuicStringPiece>& alpns) {
+ return std::find(alpns.cbegin(), alpns.cend(), alpn);
+ });
// The client's handshake must have been started already.
CHECK_NE(0u, client_conn->encrypted_packets_.size());
@@ -250,7 +258,8 @@ int HandshakeWithFakeClient(MockQuicConnectionHelper* helper,
PacketSavingConnection* server_conn,
QuicCryptoServerStream* server,
const QuicServerId& server_id,
- const FakeClientOptions& options) {
+ const FakeClientOptions& options,
+ std::string alpn) {
ParsedQuicVersionVector supported_versions = AllSupportedVersions();
if (options.only_tls_versions) {
supported_versions.clear();
@@ -275,6 +284,14 @@ int HandshakeWithFakeClient(MockQuicConnectionHelper* helper,
EXPECT_CALL(client_session, OnProofVerifyDetailsAvailable(testing::_))
.Times(testing::AnyNumber());
EXPECT_CALL(*client_conn, OnCanWrite()).Times(testing::AnyNumber());
+ if (!alpn.empty()) {
+ EXPECT_CALL(client_session, GetAlpnsToOffer())
+ .WillRepeatedly(testing::Return(std::vector<std::string>({alpn})));
+ } else {
+ EXPECT_CALL(client_session, GetAlpnsToOffer())
+ .WillRepeatedly(testing::Return(std::vector<std::string>(
+ {AlpnForVersion(client_conn->version())})));
+ }
client_session.GetMutableCryptoStream()->CryptoConnect();
CHECK_EQ(1u, client_conn->encrypted_packets_.size());
@@ -303,12 +320,10 @@ void SendHandshakeMessageToStream(QuicCryptoStream* stream,
Perspective /*perspective*/) {
const QuicData& data = message.GetSerialized();
QuicSession* session = QuicStreamPeer::session(stream);
- if (!QuicVersionUsesCryptoFrames(
- session->connection()->transport_version())) {
- QuicStreamFrame frame(QuicUtils::GetCryptoStreamId(
- session->connection()->transport_version()),
- false, stream->crypto_bytes_read(),
- data.AsStringPiece());
+ if (!QuicVersionUsesCryptoFrames(session->transport_version())) {
+ QuicStreamFrame frame(
+ QuicUtils::GetCryptoStreamId(session->transport_version()), false,
+ stream->crypto_bytes_read(), data.AsStringPiece());
stream->OnStreamFrame(frame);
} else {
EncryptionLevel level = session->connection()->last_decrypted_level();
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h b/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h
index 421c0f3dd2d..6f87e90494c 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h
@@ -69,7 +69,8 @@ int HandshakeWithFakeServer(QuicConfig* server_quic_config,
MockQuicConnectionHelper* helper,
MockAlarmFactory* alarm_factory,
PacketSavingConnection* client_conn,
- QuicCryptoClientStream* client);
+ QuicCryptoClientStream* client,
+ std::string alpn);
// returns: the number of client hellos that the client sent.
int HandshakeWithFakeClient(MockQuicConnectionHelper* helper,
@@ -77,7 +78,8 @@ int HandshakeWithFakeClient(MockQuicConnectionHelper* helper,
PacketSavingConnection* server_conn,
QuicCryptoServerStream* server,
const QuicServerId& server_id,
- const FakeClientOptions& options);
+ const FakeClientOptions& options,
+ std::string alpn);
// SetupCryptoServerConfigForTest configures |crypto_config|
// with sensible defaults for testing.
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc b/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc
index 62eafb9d422..59a3947393e 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/crypto_test_utils_test.cc
@@ -4,9 +4,10 @@
#include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/core/proto/crypto_server_config_proto.h"
#include "net/third_party/quiche/src/quic/core/quic_utils.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.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/test_tools/mock_clock.h"
@@ -47,7 +48,7 @@ class ShloVerifier {
std::unique_ptr<ValidateClientHelloCallback>
GetValidateClientHelloCallback() {
- return QuicMakeUnique<ValidateClientHelloCallback>(this);
+ return std::make_unique<ValidateClientHelloCallback>(this);
}
private:
@@ -82,7 +83,7 @@ class ShloVerifier {
};
std::unique_ptr<ProcessClientHelloCallback> GetProcessClientHelloCallback() {
- return QuicMakeUnique<ProcessClientHelloCallback>(this);
+ return std::make_unique<ProcessClientHelloCallback>(this);
}
void ProcessClientHelloDone(std::unique_ptr<CryptoHandshakeMessage> message) {
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/fake_proof_source.cc b/chromium/net/third_party/quiche/src/quic/test_tools/fake_proof_source.cc
index 8f1cd376833..784ced4027e 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/fake_proof_source.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/fake_proof_source.cc
@@ -4,8 +4,9 @@
#include "net/third_party/quiche/src/quic/test_tools/fake_proof_source.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h"
namespace quic {
@@ -80,7 +81,7 @@ void FakeProofSource::GetProof(
return;
}
- pending_ops_.push_back(QuicMakeUnique<GetProofOp>(
+ pending_ops_.push_back(std::make_unique<GetProofOp>(
server_address, hostname, server_config, transport_version,
std::string(chlo_hash), std::move(callback), delegate_.get()));
}
@@ -106,7 +107,7 @@ void FakeProofSource::ComputeTlsSignature(
}
QUIC_LOG(INFO) << "Adding pending op";
- pending_ops_.push_back(QuicMakeUnique<ComputeSignatureOp>(
+ pending_ops_.push_back(std::make_unique<ComputeSignatureOp>(
server_address, hostname, signature_algorithm, in, std::move(callback),
delegate_.get()));
}
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h b/chromium/net/third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h
index 6b2b6d0968f..b8a9776381a 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/mock_quic_time_wait_list_manager.h
@@ -61,6 +61,11 @@ class MockTimeWaitListManager : public QuicTimeWaitListManager {
QuicConnectionId,
bool,
std::unique_ptr<QuicPerPacketContext>));
+
+ MOCK_METHOD3(SendPacket,
+ void(const QuicSocketAddress&,
+ const QuicSocketAddress&,
+ const QuicEncryptedPacket&));
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.cc
index f9ce04f1765..6278817caaf 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.cc
@@ -18,6 +18,30 @@ void QuicConfigPeer::SetReceivedInitialStreamFlowControlWindow(
}
// static
+void QuicConfigPeer::SetReceivedInitialMaxStreamDataBytesIncomingBidirectional(
+ QuicConfig* config,
+ uint32_t window_bytes) {
+ config->initial_max_stream_data_bytes_incoming_bidirectional_
+ .SetReceivedValue(window_bytes);
+}
+
+// static
+void QuicConfigPeer::SetReceivedInitialMaxStreamDataBytesOutgoingBidirectional(
+ QuicConfig* config,
+ uint32_t window_bytes) {
+ config->initial_max_stream_data_bytes_outgoing_bidirectional_
+ .SetReceivedValue(window_bytes);
+}
+
+// static
+void QuicConfigPeer::SetReceivedInitialMaxStreamDataBytesUnidirectional(
+ QuicConfig* config,
+ uint32_t window_bytes) {
+ config->initial_max_stream_data_bytes_unidirectional_.SetReceivedValue(
+ window_bytes);
+}
+
+// static
void QuicConfigPeer::SetReceivedInitialSessionFlowControlWindow(
QuicConfig* config,
uint32_t window_bytes) {
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.h
index 7faee7e6e11..e68d87d8502 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_config_peer.h
@@ -22,6 +22,18 @@ class QuicConfigPeer {
static void SetReceivedInitialStreamFlowControlWindow(QuicConfig* config,
uint32_t window_bytes);
+ static void SetReceivedInitialMaxStreamDataBytesIncomingBidirectional(
+ QuicConfig* config,
+ uint32_t window_bytes);
+
+ static void SetReceivedInitialMaxStreamDataBytesOutgoingBidirectional(
+ QuicConfig* config,
+ uint32_t window_bytes);
+
+ static void SetReceivedInitialMaxStreamDataBytesUnidirectional(
+ QuicConfig* config,
+ uint32_t window_bytes);
+
static void SetReceivedInitialSessionFlowControlWindow(QuicConfig* config,
uint32_t window_bytes);
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.cc
index ef2ffb39c02..02775caf901 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.cc
@@ -226,6 +226,9 @@ QuicConnectionStats* QuicConnectionPeer::GetStats(QuicConnection* connection) {
// static
QuicPacketCount QuicConnectionPeer::GetPacketsBetweenMtuProbes(
QuicConnection* connection) {
+ if (connection->mtu_discovery_v2_) {
+ return connection->mtu_discoverer_.packets_between_probes();
+ }
return connection->packets_between_mtu_probes_;
}
@@ -242,6 +245,15 @@ void QuicConnectionPeer::SetNextMtuProbeAt(QuicConnection* connection,
}
// static
+void QuicConnectionPeer::ReInitializeMtuDiscoverer(
+ QuicConnection* connection,
+ QuicPacketCount packets_between_probes_base,
+ QuicPacketNumber next_probe_at) {
+ connection->mtu_discoverer_ =
+ QuicConnectionMtuDiscoverer(packets_between_probes_base, next_probe_at);
+}
+
+// static
void QuicConnectionPeer::SetAckMode(QuicConnection* connection,
AckMode ack_mode) {
for (auto& received_packet_manager :
@@ -345,5 +357,12 @@ void QuicConnectionPeer::SetAddressValidated(QuicConnection* connection) {
connection->address_validated_ = true;
}
+// static
+void QuicConnectionPeer::SendConnectionClosePacket(QuicConnection* connection,
+ QuicErrorCode error,
+ const std::string& details) {
+ connection->SendConnectionClosePacket(error, details);
+}
+
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h
index f329a1cb833..c5c972f9cc0 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h
@@ -111,6 +111,10 @@ class QuicConnectionPeer {
QuicPacketCount packets);
static void SetNextMtuProbeAt(QuicConnection* connection,
QuicPacketNumber number);
+ static void ReInitializeMtuDiscoverer(
+ QuicConnection* connection,
+ QuicPacketCount packets_between_probes_base,
+ QuicPacketNumber next_probe_at);
static void SetAckMode(QuicConnection* connection, AckMode ack_mode);
static void SetFastAckAfterQuiescence(QuicConnection* connection,
bool fast_ack_after_quiescence);
@@ -135,6 +139,10 @@ class QuicConnectionPeer {
PacketHeaderFormat format);
static void AddBytesReceived(QuicConnection* connection, size_t length);
static void SetAddressValidated(QuicConnection* connection);
+
+ static void SendConnectionClosePacket(QuicConnection* connection,
+ QuicErrorCode error,
+ const std::string& details);
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.cc
index eea4fd64c4e..d686d5a4097 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.cc
@@ -36,6 +36,13 @@ void QuicFramerPeer::SetLastSerializedClientConnectionId(
}
// static
+void QuicFramerPeer::SetLastWrittenPacketNumberLength(
+ QuicFramer* framer,
+ size_t packet_number_length) {
+ framer->last_written_packet_number_length_ = packet_number_length;
+}
+
+// static
void QuicFramerPeer::SetLargestPacketNumber(QuicFramer* framer,
QuicPacketNumber packet_number) {
framer->largest_packet_number_ = packet_number;
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.h
index 24b8818a804..661def5493a 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_framer_peer.h
@@ -28,6 +28,8 @@ class QuicFramerPeer {
static void SetLastSerializedClientConnectionId(
QuicFramer* framer,
QuicConnectionId client_connection_id);
+ static void SetLastWrittenPacketNumberLength(QuicFramer* framer,
+ size_t packet_number_length);
static void SetLargestPacketNumber(QuicFramer* framer,
QuicPacketNumber packet_number);
static void SetPerspective(QuicFramer* framer, Perspective perspective);
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.cc
index d4dc008790f..d4e5598ffa0 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.cc
@@ -139,11 +139,5 @@ QuicFramer* QuicPacketCreatorPeer::framer(QuicPacketCreator* creator) {
return creator->framer_;
}
-// static
-void QuicPacketCreatorPeer::EnableGetPacketHeaderSizeBugFix(
- QuicPacketCreator* creator) {
- creator->fix_get_packet_header_size_ = true;
-}
-
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.h
index f8f3d5987ad..e040090f6dd 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_packet_creator_peer.h
@@ -57,7 +57,6 @@ class QuicPacketCreatorPeer {
static EncryptionLevel GetEncryptionLevel(QuicPacketCreator* creator);
static QuicFramer* framer(QuicPacketCreator* creator);
- static void EnableGetPacketHeaderSizeBugFix(QuicPacketCreator* creator);
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.cc
index c48c090ffbd..b680f66d815 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.cc
@@ -209,5 +209,19 @@ void QuicSentPacketManagerPeer::SetNextPacedPacketTime(
sent_packet_manager->pacing_sender_.ideal_next_packet_send_time_ = time;
}
+// static
+int QuicSentPacketManagerPeer::GetReorderingShift(
+ QuicSentPacketManager* sent_packet_manager) {
+ return sent_packet_manager->uber_loss_algorithm_.general_loss_algorithms_[0]
+ .reordering_shift();
+}
+
+// static
+bool QuicSentPacketManagerPeer::AdaptiveReorderingThresholdEnabled(
+ QuicSentPacketManager* sent_packet_manager) {
+ return sent_packet_manager->uber_loss_algorithm_.general_loss_algorithms_[0]
+ .use_adaptive_reordering_threshold();
+}
+
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.h
index 6dcce0cf4a4..6be8b46308f 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_sent_packet_manager_peer.h
@@ -93,6 +93,11 @@ class QuicSentPacketManagerPeer {
static void SetNextPacedPacketTime(QuicSentPacketManager* sent_packet_manager,
QuicTime time);
+
+ static int GetReorderingShift(QuicSentPacketManager* sent_packet_manager);
+
+ static bool AdaptiveReorderingThresholdEnabled(
+ QuicSentPacketManager* sent_packet_manager);
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.cc
index ab4e5af1ebc..001f1ca2b87 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.cc
@@ -27,7 +27,7 @@ QuicStreamId QuicSessionPeer::GetNextOutgoingUnidirectionalStreamId(
// static
void QuicSessionPeer::SetNextOutgoingBidirectionalStreamId(QuicSession* session,
QuicStreamId id) {
- if (VersionHasIetfQuicFrames(session->connection()->transport_version())) {
+ if (VersionHasIetfQuicFrames(session->transport_version())) {
session->v99_streamid_manager_.bidirectional_stream_id_manager_
.next_outgoing_stream_id_ = id;
return;
@@ -38,7 +38,7 @@ void QuicSessionPeer::SetNextOutgoingBidirectionalStreamId(QuicSession* session,
// static
void QuicSessionPeer::SetMaxOpenIncomingStreams(QuicSession* session,
uint32_t max_streams) {
- if (VersionHasIetfQuicFrames(session->connection()->transport_version())) {
+ if (VersionHasIetfQuicFrames(session->transport_version())) {
QUIC_BUG << "SetmaxOpenIncomingStreams deprecated for IETF QUIC";
session->v99_streamid_manager_.SetMaxOpenIncomingUnidirectionalStreams(
max_streams);
@@ -53,7 +53,7 @@ void QuicSessionPeer::SetMaxOpenIncomingStreams(QuicSession* session,
void QuicSessionPeer::SetMaxOpenIncomingBidirectionalStreams(
QuicSession* session,
uint32_t max_streams) {
- DCHECK(VersionHasIetfQuicFrames(session->connection()->transport_version()))
+ DCHECK(VersionHasIetfQuicFrames(session->transport_version()))
<< "SetmaxOpenIncomingBidirectionalStreams not supported for Google "
"QUIC";
session->v99_streamid_manager_.SetMaxOpenIncomingBidirectionalStreams(
@@ -63,7 +63,7 @@ void QuicSessionPeer::SetMaxOpenIncomingBidirectionalStreams(
void QuicSessionPeer::SetMaxOpenIncomingUnidirectionalStreams(
QuicSession* session,
uint32_t max_streams) {
- DCHECK(VersionHasIetfQuicFrames(session->connection()->transport_version()))
+ DCHECK(VersionHasIetfQuicFrames(session->transport_version()))
<< "SetmaxOpenIncomingUnidirectionalStreams not supported for Google "
"QUIC";
session->v99_streamid_manager_.SetMaxOpenIncomingUnidirectionalStreams(
@@ -73,7 +73,7 @@ void QuicSessionPeer::SetMaxOpenIncomingUnidirectionalStreams(
// static
void QuicSessionPeer::SetMaxOpenOutgoingStreams(QuicSession* session,
uint32_t max_streams) {
- if (VersionHasIetfQuicFrames(session->connection()->transport_version())) {
+ if (VersionHasIetfQuicFrames(session->transport_version())) {
QUIC_BUG << "SetmaxOpenOutgoingStreams deprecated for IETF QUIC";
session->v99_streamid_manager_.SetMaxOpenOutgoingUnidirectionalStreams(
max_streams);
@@ -88,7 +88,7 @@ void QuicSessionPeer::SetMaxOpenOutgoingStreams(QuicSession* session,
void QuicSessionPeer::SetMaxOpenOutgoingBidirectionalStreams(
QuicSession* session,
uint32_t max_streams) {
- DCHECK(VersionHasIetfQuicFrames(session->connection()->transport_version()))
+ DCHECK(VersionHasIetfQuicFrames(session->transport_version()))
<< "SetmaxOpenOutgoingBidirectionalStreams not supported for Google "
"QUIC";
session->v99_streamid_manager_.SetMaxOpenOutgoingBidirectionalStreams(
@@ -98,7 +98,7 @@ void QuicSessionPeer::SetMaxOpenOutgoingBidirectionalStreams(
void QuicSessionPeer::SetMaxOpenOutgoingUnidirectionalStreams(
QuicSession* session,
uint32_t max_streams) {
- DCHECK(VersionHasIetfQuicFrames(session->connection()->transport_version()))
+ DCHECK(VersionHasIetfQuicFrames(session->transport_version()))
<< "SetmaxOpenOutgoingUnidirectionalStreams not supported for Google "
"QUIC";
session->v99_streamid_manager_.SetMaxOpenOutgoingUnidirectionalStreams(
@@ -159,12 +159,6 @@ void QuicSessionPeer::ActivateStream(QuicSession* session,
}
// static
-void QuicSessionPeer::RegisterStaticStream(QuicSession* session,
- std::unique_ptr<QuicStream> stream) {
- return session->RegisterStaticStream(std::move(stream));
-}
-
-// static
bool QuicSessionPeer::IsStreamClosed(QuicSession* session, QuicStreamId id) {
return session->IsClosedStream(id);
}
@@ -176,10 +170,8 @@ bool QuicSessionPeer::IsStreamCreated(QuicSession* session, QuicStreamId id) {
// static
bool QuicSessionPeer::IsStreamAvailable(QuicSession* session, QuicStreamId id) {
- if (VersionHasIetfQuicFrames(session->connection()->transport_version())) {
- if (id % QuicUtils::StreamIdDelta(
- session->connection()->transport_version()) <
- 2) {
+ if (VersionHasIetfQuicFrames(session->transport_version())) {
+ if (id % QuicUtils::StreamIdDelta(session->transport_version()) < 2) {
return QuicContainsKey(
session->v99_streamid_manager_.bidirectional_stream_id_manager_
.available_streams_,
@@ -249,5 +241,10 @@ PendingStream* QuicSessionPeer::GetPendingStream(QuicSession* session,
return it == session->pending_stream_map_.end() ? nullptr : it->second.get();
}
+// static
+void QuicSessionPeer::set_is_configured(QuicSession* session, bool value) {
+ session->is_configured_ = value;
+}
+
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.h
index decc4b93f45..eed3bddcf88 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_session_peer.h
@@ -63,8 +63,6 @@ class QuicSessionPeer {
QuicSession* session);
static void ActivateStream(QuicSession* session,
std::unique_ptr<QuicStream> stream);
- static void RegisterStaticStream(QuicSession* session,
- std::unique_ptr<QuicStream> stream);
// Discern the state of a stream. Exactly one of these should be true at a
// time for any stream id > 0 (other than the special streams 1 and 3).
@@ -88,6 +86,7 @@ class QuicSessionPeer {
bool close_write_side_only);
static PendingStream* GetPendingStream(QuicSession* session,
QuicStreamId stream_id);
+ static void set_is_configured(QuicSession* session, bool value);
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_spdy_session_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_spdy_session_peer.cc
index 85237c454e1..cad9599f6fb 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_spdy_session_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_spdy_session_peer.cc
@@ -14,16 +14,16 @@ namespace test {
// static
QuicHeadersStream* QuicSpdySessionPeer::GetHeadersStream(
QuicSpdySession* session) {
- DCHECK(!VersionUsesQpack(session->connection()->transport_version()));
+ DCHECK(!VersionUsesHttp3(session->transport_version()));
return session->headers_stream();
}
void QuicSpdySessionPeer::SetHeadersStream(QuicSpdySession* session,
QuicHeadersStream* headers_stream) {
- DCHECK(!VersionUsesQpack(session->connection()->transport_version()));
+ DCHECK(!VersionUsesHttp3(session->transport_version()));
for (auto& it : session->stream_map()) {
- if (it.first == QuicUtils::GetHeadersStreamId(
- session->connection()->transport_version())) {
+ if (it.first ==
+ QuicUtils::GetHeadersStreamId(session->transport_version())) {
it.second.reset(headers_stream);
session->headers_stream_ = static_cast<QuicHeadersStream*>(it.second.get());
break;
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.cc
index 3ce5f1f2a39..6c08ecea5ed 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.cc
@@ -20,10 +20,23 @@ void QuicStreamIdManagerPeer::set_incoming_actual_max_streams(
}
// static
+void QuicStreamIdManagerPeer::set_outgoing_max_streams(
+ QuicStreamIdManager* stream_id_manager,
+ QuicStreamCount count) {
+ stream_id_manager->outgoing_max_streams_ = count;
+}
+
+// static
QuicStreamId QuicStreamIdManagerPeer::GetFirstIncomingStreamId(
QuicStreamIdManager* stream_id_manager) {
return stream_id_manager->GetFirstIncomingStreamId();
}
+// static
+bool QuicStreamIdManagerPeer::get_unidirectional(
+ QuicStreamIdManager* stream_id_manager) {
+ return stream_id_manager->unidirectional_;
+}
+
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.h
index cc78aee5820..4c975121310 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_stream_id_manager_peer.h
@@ -22,9 +22,13 @@ class QuicStreamIdManagerPeer {
static void set_incoming_actual_max_streams(
QuicStreamIdManager* stream_id_manager,
QuicStreamCount count);
+ static void set_outgoing_max_streams(QuicStreamIdManager* stream_id_manager,
+ QuicStreamCount count);
static QuicStreamId GetFirstIncomingStreamId(
QuicStreamIdManager* stream_id_manager);
+
+ static bool get_unidirectional(QuicStreamIdManager* stream_id_manager);
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_client.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_client.cc
index 402a2311882..237d9f66d8f 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_client.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_client.cc
@@ -205,8 +205,8 @@ MockableQuicClient::MockableQuicClient(
supported_versions,
config,
epoll_server,
- QuicMakeUnique<MockableQuicClientEpollNetworkHelper>(epoll_server,
- this),
+ std::make_unique<MockableQuicClientEpollNetworkHelper>(epoll_server,
+ this),
QuicWrapUnique(
new RecordingProofVerifier(std::move(proof_verifier)))),
override_server_connection_id_(EmptyQuicConnectionId()),
@@ -347,6 +347,10 @@ void QuicTestClient::Initialize() {
num_requests_ = 0;
num_responses_ = 0;
ClearPerConnectionState();
+ // TODO(b/142715651): Figure out how to use QPACK in tests.
+ // Do not use the QPACK dynamic table in tests to avoid flakiness due to the
+ // uncertain order of receiving the SETTINGS frame and sending headers.
+ client_->disable_qpack_dynamic_table();
// As chrome will generally do this, we want it to be the default when it's
// not overridden.
if (!client_->config()->HasSetBytesForConnectionIdToSend()) {
@@ -377,7 +381,7 @@ ssize_t QuicTestClient::SendRequestAndRstTogether(const std::string& uri) {
ssize_t ret = SendMessage(headers, "", /*fin=*/true, /*flush=*/false);
QuicStreamId stream_id = GetNthClientInitiatedBidirectionalStreamId(
- session->connection()->transport_version(), 0);
+ session->transport_version(), 0);
session->SendRstStream(stream_id, QUIC_STREAM_CANCELLED, 0);
return ret;
}
@@ -406,7 +410,7 @@ ssize_t QuicTestClient::GetOrCreateStreamAndSendRequest(
// May need to retry request if asynchronous rendezvous fails.
std::unique_ptr<spdy::SpdyHeaderBlock> new_headers(
new spdy::SpdyHeaderBlock(headers->Clone()));
- push_promise_data_to_resend_ = QuicMakeUnique<TestClientDataToResend>(
+ push_promise_data_to_resend_ = std::make_unique<TestClientDataToResend>(
std::move(new_headers), body, fin, this, std::move(ack_listener));
return 1;
}
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.cc
index 19b986e8dba..a893830102e 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.cc
@@ -4,6 +4,8 @@
#include "net/third_party/quiche/src/quic/test_tools/quic_test_server.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/core/quic_epoll_alarm_factory.h"
#include "net/third_party/quiche/src/quic/core/quic_epoll_connection_helper.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
@@ -116,6 +118,11 @@ class QuicTestDispatcher : public QuicSimpleDispatcher {
config(), connection, this, session_helper(), crypto_config(),
compressed_certs_cache(), server_backend());
}
+ // TODO(b/142715651): Figure out how to use QPACK in tests.
+ // Do not use the QPACK dynamic table in tests to avoid flakiness due to the
+ // uncertain order of receiving the SETTINGS frame and sending headers.
+ session->set_qpack_maximum_dynamic_table_capacity(0);
+ session->set_qpack_maximum_blocked_streams(0);
session->Initialize();
return session;
}
@@ -181,11 +188,11 @@ QuicTestServer::QuicTestServer(
QuicDispatcher* QuicTestServer::CreateQuicDispatcher() {
return new QuicTestDispatcher(
&config(), &crypto_config(), version_manager(),
- QuicMakeUnique<QuicEpollConnectionHelper>(epoll_server(),
- QuicAllocator::BUFFER_POOL),
+ std::make_unique<QuicEpollConnectionHelper>(epoll_server(),
+ QuicAllocator::BUFFER_POOL),
std::unique_ptr<QuicCryptoServerStream::Helper>(
new QuicSimpleCryptoServerStreamHelper()),
- QuicMakeUnique<QuicEpollAlarmFactory>(epoll_server()), server_backend(),
+ std::make_unique<QuicEpollAlarmFactory>(epoll_server()), server_backend(),
expected_server_connection_id_length());
}
@@ -227,6 +234,11 @@ void ImmediateGoAwaySession::OnStreamFrame(const QuicStreamFrame& frame) {
QuicSimpleServerSession::OnStreamFrame(frame);
}
+void ImmediateGoAwaySession::OnCryptoFrame(const QuicCryptoFrame& frame) {
+ SendGoAway(QUIC_PEER_GOING_AWAY, "");
+ QuicSimpleServerSession::OnCryptoFrame(frame);
+}
+
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.h
index 3661b7a1c8e..f9b677ab04a 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_server.h
@@ -104,6 +104,7 @@ class ImmediateGoAwaySession : public QuicSimpleServerSession {
// Override to send GoAway.
void OnStreamFrame(const QuicStreamFrame& frame) override;
+ void OnCryptoFrame(const QuicCryptoFrame& frame) override;
};
} // namespace test
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.cc b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.cc
index 5ff5e05a9b0..ff0239213a2 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.cc
@@ -7,6 +7,7 @@
#include <algorithm>
#include <cstdint>
#include <memory>
+#include <utility>
#include "third_party/boringssl/src/include/openssl/chacha.h"
#include "third_party/boringssl/src/include/openssl/sha.h"
@@ -24,7 +25,6 @@
#include "net/third_party/quiche/src/quic/platform/api/quic_endian.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/test_tools/crypto_test_utils.h"
#include "net/third_party/quiche/src/quic/test_tools/quic_config_peer.h"
#include "net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h"
@@ -107,6 +107,19 @@ QuicAckFrame MakeAckFrameWithAckBlocks(size_t num_ack_blocks,
return ack;
}
+EncryptionLevel HeaderToEncryptionLevel(const QuicPacketHeader& header) {
+ if (header.form == IETF_QUIC_SHORT_HEADER_PACKET) {
+ return ENCRYPTION_FORWARD_SECURE;
+ } else if (header.form == IETF_QUIC_LONG_HEADER_PACKET) {
+ if (header.long_packet_type == HANDSHAKE) {
+ return ENCRYPTION_HANDSHAKE;
+ } else if (header.long_packet_type == ZERO_RTT_PROTECTED) {
+ return ENCRYPTION_ZERO_RTT;
+ }
+ }
+ return ENCRYPTION_INITIAL;
+}
+
std::unique_ptr<QuicPacket> BuildUnsizedDataPacket(
QuicFramer* framer,
const QuicPacketHeader& header,
@@ -133,11 +146,12 @@ std::unique_ptr<QuicPacket> BuildUnsizedDataPacket(
const QuicFrames& frames,
size_t packet_size) {
char* buffer = new char[packet_size];
- size_t length = framer->BuildDataPacket(header, frames, buffer, packet_size,
- ENCRYPTION_INITIAL);
+ EncryptionLevel level = HeaderToEncryptionLevel(header);
+ size_t length =
+ framer->BuildDataPacket(header, frames, buffer, packet_size, level);
DCHECK_NE(0u, length);
// Re-construct the data packet with data ownership.
- return QuicMakeUnique<QuicPacket>(
+ return std::make_unique<QuicPacket>(
buffer, length, /* owns_buffer */ true,
GetIncludedDestinationConnectionIdLength(header),
GetIncludedSourceConnectionIdLength(header), header.version_flag,
@@ -511,7 +525,7 @@ PacketSavingConnection::PacketSavingConnection(
PacketSavingConnection::~PacketSavingConnection() {}
void PacketSavingConnection::SendOrQueuePacket(SerializedPacket* packet) {
- encrypted_packets_.push_back(QuicMakeUnique<QuicEncryptedPacket>(
+ encrypted_packets_.push_back(std::make_unique<QuicEncryptedPacket>(
CopyBuffer(*packet), packet->encrypted_length, true));
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(10));
// Transfer ownership of the packet to the SentPacketManager and the
@@ -532,7 +546,7 @@ MockQuicSession::MockQuicSession(QuicConnection* connection,
connection->supported_versions(),
/*num_expected_unidirectional_static_streams = */ 0) {
if (create_mock_crypto_stream) {
- crypto_stream_ = QuicMakeUnique<MockQuicCryptoStream>(this);
+ crypto_stream_ = std::make_unique<MockQuicCryptoStream>(this);
}
ON_CALL(*this, WritevData(_, _, _, _, _))
.WillByDefault(testing::Return(QuicConsumedData(0, false)));
@@ -561,7 +575,7 @@ QuicConsumedData MockQuicSession::ConsumeData(QuicStream* stream,
QuicStreamOffset offset,
StreamSendingState state) {
if (write_length > 0) {
- auto buf = QuicMakeUnique<char[]>(write_length);
+ auto buf = std::make_unique<char[]>(write_length);
QuicDataWriter writer(write_length, buf.get(), HOST_BYTE_ORDER);
stream->WriteStreamData(offset, write_length, &writer);
} else {
@@ -602,7 +616,7 @@ MockQuicSpdySession::MockQuicSpdySession(QuicConnection* connection,
DefaultQuicConfig(),
connection->supported_versions()) {
if (create_mock_crypto_stream) {
- crypto_stream_ = QuicMakeUnique<MockQuicCryptoStream>(this);
+ crypto_stream_ = std::make_unique<MockQuicCryptoStream>(this);
}
ON_CALL(*this, WritevData(_, _, _, _, _))
@@ -681,7 +695,7 @@ TestQuicSpdyClientSession::TestQuicSpdyClientSession(
&push_promise_index_,
config,
supported_versions) {
- crypto_stream_ = QuicMakeUnique<QuicCryptoClientStream>(
+ crypto_stream_ = std::make_unique<QuicCryptoClientStream>(
server_id, this, crypto_test_utils::ProofVerifyContextForTesting(),
crypto_config, this);
Initialize();
@@ -857,10 +871,11 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
ParsedQuicVersionVector* versions) {
return ConstructEncryptedPacket(
destination_connection_id, source_connection_id, version_flag, reset_flag,
- packet_number, data, destination_connection_id_included,
+ packet_number, data, false, destination_connection_id_included,
source_connection_id_included, packet_number_length, versions,
Perspective::IS_CLIENT);
}
+
QuicEncryptedPacket* ConstructEncryptedPacket(
QuicConnectionId destination_connection_id,
QuicConnectionId source_connection_id,
@@ -868,6 +883,26 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
bool reset_flag,
uint64_t packet_number,
const std::string& data,
+ bool full_padding,
+ QuicConnectionIdIncluded destination_connection_id_included,
+ QuicConnectionIdIncluded source_connection_id_included,
+ QuicPacketNumberLength packet_number_length,
+ ParsedQuicVersionVector* versions) {
+ return ConstructEncryptedPacket(
+ destination_connection_id, source_connection_id, version_flag, reset_flag,
+ packet_number, data, full_padding, destination_connection_id_included,
+ source_connection_id_included, packet_number_length, versions,
+ Perspective::IS_CLIENT);
+}
+
+QuicEncryptedPacket* ConstructEncryptedPacket(
+ QuicConnectionId destination_connection_id,
+ QuicConnectionId source_connection_id,
+ bool version_flag,
+ bool reset_flag,
+ uint64_t packet_number,
+ const std::string& data,
+ bool full_padding,
QuicConnectionIdIncluded destination_connection_id_included,
QuicConnectionIdIncluded source_connection_id_included,
QuicPacketNumberLength packet_number_length,
@@ -887,7 +922,8 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
if (!versions) {
versions = &supported_versions;
}
- if (QuicVersionHasLongHeaderLengths((*versions)[0].transport_version) &&
+ ParsedQuicVersion version = (*versions)[0];
+ if (QuicVersionHasLongHeaderLengths(version.transport_version) &&
version_flag) {
header.retry_token_length_length = VARIABLE_LENGTH_INTEGER_LENGTH_1;
header.length_length = VARIABLE_LENGTH_INTEGER_LENGTH_2;
@@ -896,22 +932,11 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
QuicFrames frames;
QuicFramer framer(*versions, QuicTime::Zero(), perspective,
kQuicDefaultConnectionIdLength);
- ParsedQuicVersion version = (*versions)[0];
+ framer.SetInitialObfuscators(destination_connection_id);
EncryptionLevel level =
header.version_flag ? ENCRYPTION_INITIAL : ENCRYPTION_FORWARD_SECURE;
- if (version.handshake_protocol == PROTOCOL_TLS1_3 &&
- level == ENCRYPTION_INITIAL) {
- CrypterPair crypters;
- CryptoUtils::CreateTlsInitialCrypters(Perspective::IS_CLIENT,
- version.transport_version,
- destination_connection_id, &crypters);
- framer.SetEncrypter(ENCRYPTION_INITIAL, std::move(crypters.encrypter));
- if (version.KnowsWhichDecrypterToUse()) {
- framer.InstallDecrypter(ENCRYPTION_INITIAL,
- std::move(crypters.decrypter));
- } else {
- framer.SetDecrypter(ENCRYPTION_INITIAL, std::move(crypters.decrypter));
- }
+ if (level != ENCRYPTION_INITIAL) {
+ framer.SetEncrypter(level, std::make_unique<NullEncrypter>(perspective));
}
if (!QuicVersionUsesCryptoFrames(version.transport_version)) {
QuicFrame frame(
@@ -922,14 +947,18 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
QuicFrame frame(new QuicCryptoFrame(level, 0, data));
frames.push_back(frame);
}
- // We need a minimum number of bytes of encrypted payload. This will
- // guarantee that we have at least that much. (It ignores the overhead of the
- // stream/crypto framing, so it overpads slightly.)
- size_t min_plaintext_size =
- QuicPacketCreator::MinPlaintextPacketSize(version);
- if (data.length() < min_plaintext_size) {
- size_t padding_length = min_plaintext_size - data.length();
- frames.push_back(QuicFrame(QuicPaddingFrame(padding_length)));
+ if (full_padding) {
+ frames.push_back(QuicFrame(QuicPaddingFrame(-1)));
+ } else {
+ // We need a minimum number of bytes of encrypted payload. This will
+ // guarantee that we have at least that much. (It ignores the overhead of
+ // the stream/crypto framing, so it overpads slightly.)
+ size_t min_plaintext_size =
+ QuicPacketCreator::MinPlaintextPacketSize(version);
+ if (data.length() < min_plaintext_size) {
+ size_t padding_length = min_plaintext_size - data.length();
+ frames.push_back(QuicFrame(QuicPaddingFrame(padding_length)));
+ }
}
std::unique_ptr<QuicPacket> packet(
@@ -937,8 +966,8 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
EXPECT_TRUE(packet != nullptr);
char* buffer = new char[kMaxOutgoingPacketSize];
size_t encrypted_length =
- framer.EncryptPayload(ENCRYPTION_INITIAL, QuicPacketNumber(packet_number),
- *packet, buffer, kMaxOutgoingPacketSize);
+ framer.EncryptPayload(level, QuicPacketNumber(packet_number), *packet,
+ buffer, kMaxOutgoingPacketSize);
EXPECT_NE(0u, encrypted_length);
DeleteFrames(&frames);
return new QuicEncryptedPacket(buffer, encrypted_length, true);
@@ -988,13 +1017,11 @@ QuicEncryptedPacket* ConstructMisFramedEncryptedPacket(
QuicFramer framer(versions != nullptr ? *versions : AllSupportedVersions(),
QuicTime::Zero(), perspective,
kQuicDefaultConnectionIdLength);
- if (version.handshake_protocol == PROTOCOL_TLS1_3 && version_flag) {
- CrypterPair crypters;
- CryptoUtils::CreateTlsInitialCrypters(Perspective::IS_CLIENT,
- version.transport_version,
- destination_connection_id, &crypters);
- framer.SetEncrypter(ENCRYPTION_INITIAL, std::move(crypters.encrypter));
- framer.InstallDecrypter(ENCRYPTION_INITIAL, std::move(crypters.decrypter));
+ framer.SetInitialObfuscators(destination_connection_id);
+ EncryptionLevel level =
+ version_flag ? ENCRYPTION_INITIAL : ENCRYPTION_FORWARD_SECURE;
+ if (level != ENCRYPTION_INITIAL) {
+ framer.SetEncrypter(level, std::make_unique<NullEncrypter>(perspective));
}
// We need a minimum of 7 bytes of encrypted payload. This will guarantee that
// we have at least that much. (It ignores the overhead of the stream/crypto
@@ -1019,8 +1046,8 @@ QuicEncryptedPacket* ConstructMisFramedEncryptedPacket(
char* buffer = new char[kMaxOutgoingPacketSize];
size_t encrypted_length =
- framer.EncryptPayload(ENCRYPTION_INITIAL, QuicPacketNumber(packet_number),
- *packet, buffer, kMaxOutgoingPacketSize);
+ framer.EncryptPayload(level, QuicPacketNumber(packet_number), *packet,
+ buffer, kMaxOutgoingPacketSize);
EXPECT_NE(0u, encrypted_length);
return new QuicEncryptedPacket(buffer, encrypted_length, true);
}
@@ -1058,6 +1085,12 @@ void CompareCharArraysWithHexError(const std::string& description,
QuicConfig DefaultQuicConfig() {
QuicConfig config;
+ config.SetInitialMaxStreamDataBytesIncomingBidirectionalToSend(
+ kInitialStreamFlowControlWindowForTest);
+ config.SetInitialMaxStreamDataBytesOutgoingBidirectionalToSend(
+ kInitialStreamFlowControlWindowForTest);
+ config.SetInitialMaxStreamDataBytesUnidirectionalToSend(
+ kInitialStreamFlowControlWindowForTest);
config.SetInitialStreamFlowControlWindowToSend(
kInitialStreamFlowControlWindowForTest);
config.SetInitialSessionFlowControlWindowToSend(
@@ -1161,7 +1194,7 @@ QuicStreamId GetNthClientInitiatedBidirectionalStreamId(
QuicTransportVersion version,
int n) {
int num = n;
- if (!VersionUsesQpack(version)) {
+ if (!VersionUsesHttp3(version)) {
num++;
}
return QuicUtils::GetFirstBidirectionalStreamId(version,
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.h b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.h
index 5750b9bc61d..be6e84d7746 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.h
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/quic_test_utils.h
@@ -23,7 +23,6 @@
#include "net/third_party/quiche/src/quic/core/quic_sent_packet_manager.h"
#include "net/third_party/quiche/src/quic/core/quic_simple_buffer_allocator.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_mem_slice_storage.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.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/test_tools/mock_clock.h"
@@ -82,12 +81,26 @@ QuicEncryptedPacket* ConstructEncryptedPacket(
bool reset_flag,
uint64_t packet_number,
const std::string& data,
+ bool full_padding,
QuicConnectionIdIncluded destination_connection_id_included,
QuicConnectionIdIncluded source_connection_id_included,
QuicPacketNumberLength packet_number_length,
ParsedQuicVersionVector* versions,
Perspective perspective);
+QuicEncryptedPacket* ConstructEncryptedPacket(
+ QuicConnectionId destination_connection_id,
+ QuicConnectionId source_connection_id,
+ bool version_flag,
+ bool reset_flag,
+ uint64_t packet_number,
+ const std::string& data,
+ bool full_padding,
+ QuicConnectionIdIncluded destination_connection_id_included,
+ QuicConnectionIdIncluded source_connection_id_included,
+ QuicPacketNumberLength packet_number_length,
+ ParsedQuicVersionVector* versions);
+
// Create an encrypted packet for testing.
// If versions == nullptr, uses &AllSupportedVersions().
// Note that the packet is encrypted with NullEncrypter, so to decrypt the
@@ -191,6 +204,11 @@ QuicAckFrame InitAckFrame(QuicPacketNumber largest_acked);
QuicAckFrame MakeAckFrameWithAckBlocks(size_t num_ack_blocks,
uint64_t least_unacked);
+// Returns the encryption level that corresponds to the header type in
+// |header|. If the header is for GOOGLE_QUIC_PACKET instead of an
+// IETF-invariants packet, this function returns ENCRYPTION_INITIAL.
+EncryptionLevel HeaderToEncryptionLevel(const QuicPacketHeader& header);
+
// Returns a QuicPacket that is owned by the caller, and
// is populated with the fields in |header| and |frames|, or is nullptr if the
// packet could not be created.
@@ -629,7 +647,6 @@ class MockQuicSession : public QuicSession {
void(QuicStreamId stream_id, spdy::SpdyPriority priority));
MOCK_METHOD3(OnStreamHeadersComplete,
void(QuicStreamId stream_id, bool fin, size_t frame_len));
- MOCK_CONST_METHOD0(IsCryptoHandshakeConfirmed, bool());
MOCK_CONST_METHOD0(ShouldKeepConnectionAlive, bool());
MOCK_METHOD2(SendStopSending, void(uint16_t code, QuicStreamId stream_id));
MOCK_METHOD1(OnCryptoHandshakeEvent, void(QuicSession::CryptoHandshakeEvent));
@@ -690,8 +707,6 @@ class MockQuicSpdySession : public QuicSpdySession {
QuicSession::OnConnectionClosed(frame, source);
}
- using QuicSession::RegisterStaticStream;
-
// From QuicSession.
MOCK_METHOD2(OnConnectionClosed,
void(const QuicConnectionCloseFrame& frame,
@@ -727,7 +742,6 @@ class MockQuicSpdySession : public QuicSpdySession {
bool fin,
size_t frame_len,
const QuicHeaderList& header_list));
- MOCK_CONST_METHOD0(IsCryptoHandshakeConfirmed, bool());
MOCK_METHOD2(OnPromiseHeaders,
void(QuicStreamId stream_id, QuicStringPiece headers_data));
MOCK_METHOD3(OnPromiseHeadersComplete,
@@ -771,6 +785,9 @@ class TestQuicSpdyServerSession : public QuicServerSessionBase {
MOCK_METHOD1(CreateIncomingStream, QuicSpdyStream*(PendingStream* stream));
MOCK_METHOD0(CreateOutgoingBidirectionalStream, QuicSpdyStream*());
MOCK_METHOD0(CreateOutgoingUnidirectionalStream, QuicSpdyStream*());
+ MOCK_CONST_METHOD1(SelectAlpn,
+ std::vector<QuicStringPiece>::const_iterator(
+ const std::vector<QuicStringPiece>&));
QuicCryptoServerStreamBase* CreateQuicCryptoServerStream(
const QuicCryptoServerConfig* crypto_config,
QuicCompressedCertsCache* compressed_certs_cache) override;
@@ -839,6 +856,7 @@ class TestQuicSpdyClientSession : public QuicSpdyClientSessionBase {
MOCK_METHOD1(ShouldCreateIncomingStream, bool(QuicStreamId id));
MOCK_METHOD0(ShouldCreateOutgoingBidirectionalStream, bool());
MOCK_METHOD0(ShouldCreateOutgoingUnidirectionalStream, bool());
+ MOCK_CONST_METHOD0(GetAlpnsToOffer, std::vector<std::string>());
// Override to not send max header list size.
void OnCryptoHandshakeEvent(CryptoHandshakeEvent event) override;
@@ -953,6 +971,12 @@ class MockLossAlgorithm : public LossDetectionInterface {
QuicTime,
const RttStats&,
QuicPacketNumber));
+ MOCK_METHOD5(SpuriousLossDetected,
+ void(const QuicUnackedPacketMap&,
+ const RttStats&,
+ QuicTime,
+ QuicPacketNumber,
+ QuicPacketNumber));
};
class MockAckListener : public QuicAckListenerInterface {
@@ -1013,12 +1037,25 @@ class MockQuicConnectionDebugVisitor : public QuicConnectionDebugVisitor {
MOCK_METHOD1(OnStreamFrame, void(const QuicStreamFrame&));
+ MOCK_METHOD1(OnCryptoFrame, void(const QuicCryptoFrame&));
+
MOCK_METHOD1(OnStopWaitingFrame, void(const QuicStopWaitingFrame&));
MOCK_METHOD1(OnRstStreamFrame, void(const QuicRstStreamFrame&));
MOCK_METHOD1(OnConnectionCloseFrame, void(const QuicConnectionCloseFrame&));
+ MOCK_METHOD1(OnBlockedFrame, void(const QuicBlockedFrame&));
+
+ MOCK_METHOD1(OnNewConnectionIdFrame, void(const QuicNewConnectionIdFrame&));
+
+ MOCK_METHOD1(OnRetireConnectionIdFrame,
+ void(const QuicRetireConnectionIdFrame&));
+
+ MOCK_METHOD1(OnNewTokenFrame, void(const QuicNewTokenFrame&));
+
+ MOCK_METHOD1(OnMessageFrame, void(const QuicMessageFrame&));
+
MOCK_METHOD1(OnStopSendingFrame, void(const QuicStopSendingFrame&));
MOCK_METHOD1(OnPathChallengeFrame, void(const QuicPathChallengeFrame&));
@@ -1060,6 +1097,10 @@ class MockPacketCreatorDelegate : public QuicPacketCreator::DelegateInterface {
MOCK_METHOD0(GetPacketBuffer, char*());
MOCK_METHOD1(OnSerializedPacket, void(SerializedPacket* packet));
MOCK_METHOD2(OnUnrecoverableError, void(QuicErrorCode, const std::string&));
+ MOCK_METHOD2(ShouldGeneratePacket,
+ bool(HasRetransmittableData retransmittable,
+ IsHandshake handshake));
+ MOCK_METHOD0(MaybeBundleAckOpportunistically, const QuicFrames());
};
class MockSessionNotifier : public SessionNotifierInterface {
@@ -1209,6 +1250,10 @@ MATCHER_P(ReceivedPacketInfoConnectionIdEquals, destination_connection_id, "") {
return arg.destination_connection_id == destination_connection_id;
}
+MATCHER_P2(InRange, min, max, "") {
+ return arg >= min && arg <= max;
+}
+
} // namespace test
} // namespace quic
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simple_data_producer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simple_data_producer.cc
index 89bf5b952e2..ad8b2c3573a 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simple_data_producer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simple_data_producer.cc
@@ -4,11 +4,12 @@
#include "net/third_party/quiche/src/quic/test_tools/simple_data_producer.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/core/quic_data_writer.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_map_util.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
namespace quic {
@@ -27,7 +28,7 @@ void SimpleDataProducer::SaveStreamData(QuicStreamId id,
return;
}
if (!QuicContainsKey(send_buffer_map_, id)) {
- send_buffer_map_[id] = QuicMakeUnique<QuicStreamSendBuffer>(&allocator_);
+ send_buffer_map_[id] = std::make_unique<QuicStreamSendBuffer>(&allocator_);
}
send_buffer_map_[id]->SaveStreamData(iov, iov_count, iov_offset, data_length);
}
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simple_quic_framer.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simple_quic_framer.cc
index ad7e7bb32a1..be03aa1c869 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simple_quic_framer.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simple_quic_framer.cc
@@ -5,6 +5,7 @@
#include "net/third_party/quiche/src/quic/test_tools/simple_quic_framer.h"
#include <memory>
+#include <utility>
#include "net/third_party/quiche/src/quic/core/crypto/quic_decrypter.h"
#include "net/third_party/quiche/src/quic/core/crypto/quic_encrypter.h"
@@ -30,12 +31,12 @@ class SimpleFramerVisitor : public QuicFramerVisitorInterface {
void OnPacket() override {}
void OnPublicResetPacket(const QuicPublicResetPacket& packet) override {
- public_reset_packet_ = QuicMakeUnique<QuicPublicResetPacket>((packet));
+ public_reset_packet_ = std::make_unique<QuicPublicResetPacket>((packet));
}
void OnVersionNegotiationPacket(
const QuicVersionNegotiationPacket& packet) override {
version_negotiation_packet_ =
- QuicMakeUnique<QuicVersionNegotiationPacket>((packet));
+ std::make_unique<QuicVersionNegotiationPacket>((packet));
}
void OnRetryPacket(QuicConnectionId /*original_connection_id*/,
@@ -70,7 +71,7 @@ class SimpleFramerVisitor : public QuicFramerVisitorInterface {
new std::string(frame.data_buffer, frame.data_length);
stream_data_.push_back(QuicWrapUnique(string_data));
// TODO(ianswett): A pointer isn't necessary with emplace_back.
- stream_frames_.push_back(QuicMakeUnique<QuicStreamFrame>(
+ stream_frames_.push_back(std::make_unique<QuicStreamFrame>(
frame.stream_id, frame.fin, frame.offset,
QuicStringPiece(*string_data)));
return true;
@@ -81,7 +82,7 @@ class SimpleFramerVisitor : public QuicFramerVisitorInterface {
std::string* string_data =
new std::string(frame.data_buffer, frame.data_length);
crypto_data_.push_back(QuicWrapUnique(string_data));
- crypto_frames_.push_back(QuicMakeUnique<QuicCryptoFrame>(
+ crypto_frames_.push_back(std::make_unique<QuicCryptoFrame>(
frame.level, frame.offset, QuicStringPiece(*string_data)));
return true;
}
@@ -202,7 +203,7 @@ class SimpleFramerVisitor : public QuicFramerVisitorInterface {
void OnAuthenticatedIetfStatelessResetPacket(
const QuicIetfStatelessResetPacket& packet) override {
stateless_reset_packet_ =
- QuicMakeUnique<QuicIetfStatelessResetPacket>(packet);
+ std::make_unique<QuicIetfStatelessResetPacket>(packet);
}
const QuicPacketHeader& header() const { return header_; }
@@ -309,13 +310,13 @@ SimpleQuicFramer::SimpleQuicFramer(
SimpleQuicFramer::~SimpleQuicFramer() {}
bool SimpleQuicFramer::ProcessPacket(const QuicEncryptedPacket& packet) {
- visitor_ = QuicMakeUnique<SimpleFramerVisitor>();
+ visitor_ = std::make_unique<SimpleFramerVisitor>();
framer_.set_visitor(visitor_.get());
return framer_.ProcessPacket(packet);
}
void SimpleQuicFramer::Reset() {
- visitor_ = QuicMakeUnique<SimpleFramerVisitor>();
+ visitor_ = std::make_unique<SimpleFramerVisitor>();
}
const QuicPacketHeader& SimpleQuicFramer::header() const {
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simple_session_notifier_test.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simple_session_notifier_test.cc
index 63da6397209..93f11aa387d 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simple_session_notifier_test.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simple_session_notifier_test.cc
@@ -4,6 +4,8 @@
#include "net/third_party/quiche/src/quic/test_tools/simple_session_notifier.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/core/crypto/null_encrypter.h"
#include "net/third_party/quiche/src/quic/core/quic_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
@@ -258,7 +260,7 @@ TEST_F(SimpleSessionNotifierTest, OnCanWriteCryptoFrames) {
notifier_.WriteCryptoData(ENCRYPTION_INITIAL, 1024, 0);
// Send crypto data [1024, 2048) in ENCRYPTION_ZERO_RTT.
connection_.SetDefaultEncryptionLevel(ENCRYPTION_ZERO_RTT);
- connection_.SetEncrypter(ENCRYPTION_ZERO_RTT, QuicMakeUnique<NullEncrypter>(
+ connection_.SetEncrypter(ENCRYPTION_ZERO_RTT, std::make_unique<NullEncrypter>(
Perspective::IS_CLIENT));
EXPECT_CALL(connection_, SendCryptoData(ENCRYPTION_ZERO_RTT, 1024, 0))
.WillOnce(Invoke(&connection_,
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc
index 28df15f0593..bd01c43d252 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.cc
@@ -4,10 +4,11 @@
#include "net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake_message.h"
#include "net/third_party/quiche/src/quic/core/crypto/crypto_protocol.h"
#include "net/third_party/quiche/src/quic/core/quic_data_writer.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.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_output.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h"
@@ -85,14 +86,15 @@ QuicEndpoint::QuicEndpoint(Simulator* simulator,
connection_.SetSelfAddress(GetAddressFromName(name));
connection_.set_visitor(this);
connection_.SetEncrypter(ENCRYPTION_FORWARD_SECURE,
- QuicMakeUnique<NullEncrypter>(perspective));
+ std::make_unique<NullEncrypter>(perspective));
+ connection_.SetEncrypter(ENCRYPTION_INITIAL, nullptr);
if (connection_.version().KnowsWhichDecrypterToUse()) {
connection_.InstallDecrypter(ENCRYPTION_FORWARD_SECURE,
- QuicMakeUnique<NullDecrypter>(perspective));
+ std::make_unique<NullDecrypter>(perspective));
connection_.RemoveDecrypter(ENCRYPTION_INITIAL);
} else {
connection_.SetDecrypter(ENCRYPTION_FORWARD_SECURE,
- QuicMakeUnique<NullDecrypter>(perspective));
+ std::make_unique<NullDecrypter>(perspective));
}
connection_.SetDefaultEncryptionLevel(ENCRYPTION_FORWARD_SECURE);
if (perspective == Perspective::IS_SERVER) {
@@ -102,7 +104,7 @@ QuicEndpoint::QuicEndpoint(Simulator* simulator,
connection_.SetDataProducer(&producer_);
connection_.SetSessionNotifier(this);
if (connection_.session_decides_what_to_write()) {
- notifier_ = QuicMakeUnique<test::SimpleSessionNotifier>(&connection_);
+ notifier_ = std::make_unique<test::SimpleSessionNotifier>(&connection_);
}
// Configure the connection as if it received a handshake. This is important
@@ -179,7 +181,7 @@ void QuicEndpoint::DropNextIncomingPacket() {
}
void QuicEndpoint::RecordTrace() {
- trace_visitor_ = QuicMakeUnique<QuicTraceVisitor>(&connection_);
+ trace_visitor_ = std::make_unique<QuicTraceVisitor>(&connection_);
connection_.set_debug_visitor(trace_visitor_.get());
}
@@ -323,7 +325,7 @@ WriteResult QuicEndpoint::Writer::WritePacket(
return WriteResult(WRITE_STATUS_BLOCKED, 0);
}
- auto packet = QuicMakeUnique<Packet>();
+ auto packet = std::make_unique<Packet>();
packet->source = endpoint_->name();
packet->destination = endpoint_->peer_name_;
packet->tx_timestamp = endpoint_->clock_->Now();
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_test.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_test.cc
index 74b48ba16ea..772cd2e4ffd 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_test.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint_test.cc
@@ -4,8 +4,9 @@
#include "net/third_party/quiche/src/quic/test_tools/simulator/quic_endpoint.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
#include "net/third_party/quiche/src/quic/test_tools/quic_connection_peer.h"
#include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
@@ -37,14 +38,14 @@ class QuicEndpointTest : public QuicTest {
Switch switch_;
std::unique_ptr<SymmetricLink> Link(Endpoint* a, Endpoint* b) {
- return QuicMakeUnique<SymmetricLink>(a, b, kDefaultBandwidth,
- kDefaultPropagationDelay);
+ return std::make_unique<SymmetricLink>(a, b, kDefaultBandwidth,
+ kDefaultPropagationDelay);
}
std::unique_ptr<SymmetricLink> CustomLink(Endpoint* a,
Endpoint* b,
uint64_t extra_rtt_ms) {
- return QuicMakeUnique<SymmetricLink>(
+ return std::make_unique<SymmetricLink>(
a, b, kDefaultBandwidth,
kDefaultPropagationDelay +
QuicTime::Delta::FromMilliseconds(extra_rtt_ms));
@@ -156,22 +157,22 @@ TEST_F(QuicEndpointTest, TwoWayTransmission) {
TEST_F(QuicEndpointTest, Competition) {
// TODO(63765788): Turn back on this flag when the issue if fixed.
SetQuicReloadableFlag(quic_bbr_one_mss_conservation, false);
- auto endpoint_a = QuicMakeUnique<QuicEndpoint>(
+ auto endpoint_a = std::make_unique<QuicEndpoint>(
&simulator_, "Endpoint A", "Endpoint D (A)", Perspective::IS_CLIENT,
test::TestConnectionId(42));
- auto endpoint_b = QuicMakeUnique<QuicEndpoint>(
+ auto endpoint_b = std::make_unique<QuicEndpoint>(
&simulator_, "Endpoint B", "Endpoint D (B)", Perspective::IS_CLIENT,
test::TestConnectionId(43));
- auto endpoint_c = QuicMakeUnique<QuicEndpoint>(
+ auto endpoint_c = std::make_unique<QuicEndpoint>(
&simulator_, "Endpoint C", "Endpoint D (C)", Perspective::IS_CLIENT,
test::TestConnectionId(44));
- auto endpoint_d_a = QuicMakeUnique<QuicEndpoint>(
+ auto endpoint_d_a = std::make_unique<QuicEndpoint>(
&simulator_, "Endpoint D (A)", "Endpoint A", Perspective::IS_SERVER,
test::TestConnectionId(42));
- auto endpoint_d_b = QuicMakeUnique<QuicEndpoint>(
+ auto endpoint_d_b = std::make_unique<QuicEndpoint>(
&simulator_, "Endpoint D (B)", "Endpoint B", Perspective::IS_SERVER,
test::TestConnectionId(43));
- auto endpoint_d_c = QuicMakeUnique<QuicEndpoint>(
+ auto endpoint_d_c = std::make_unique<QuicEndpoint>(
&simulator_, "Endpoint D (C)", "Endpoint C", Perspective::IS_SERVER,
test::TestConnectionId(44));
QuicEndpointMultiplexer endpoint_d(
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/simulator_test.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/simulator_test.cc
index 1e7a8ce53a0..06ef4b235b0 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/simulator_test.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/simulator_test.cc
@@ -4,9 +4,10 @@
#include "net/third_party/quiche/src/quic/test_tools/simulator/simulator.h"
+#include <utility>
+
#include "net/third_party/quiche/src/quic/platform/api/quic_containers.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_logging.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
#include "net/third_party/quiche/src/quic/test_tools/quic_test_utils.h"
#include "net/third_party/quiche/src/quic/test_tools/simulator/alarm_factory.h"
@@ -123,7 +124,7 @@ class LinkSaturator : public Endpoint {
void Act() override {
if (tx_port_->TimeUntilAvailable().IsZero()) {
- auto packet = QuicMakeUnique<Packet>();
+ auto packet = std::make_unique<Packet>();
packet->source = name_;
packet->destination = destination_;
packet->tx_timestamp = clock_->Now();
@@ -255,7 +256,7 @@ TEST_F(SimulatorTest, Queue) {
EXPECT_EQ(0u, queue.packets_queued());
EXPECT_EQ(0u, acceptor.packets()->size());
- auto first_packet = QuicMakeUnique<Packet>();
+ auto first_packet = std::make_unique<Packet>();
first_packet->size = 600;
queue.AcceptPacket(std::move(first_packet));
EXPECT_EQ(600u, queue.bytes_queued());
@@ -263,14 +264,14 @@ TEST_F(SimulatorTest, Queue) {
EXPECT_EQ(0u, acceptor.packets()->size());
// The second packet does not fit and is dropped.
- auto second_packet = QuicMakeUnique<Packet>();
+ auto second_packet = std::make_unique<Packet>();
second_packet->size = 500;
queue.AcceptPacket(std::move(second_packet));
EXPECT_EQ(600u, queue.bytes_queued());
EXPECT_EQ(1u, queue.packets_queued());
EXPECT_EQ(0u, acceptor.packets()->size());
- auto third_packet = QuicMakeUnique<Packet>();
+ auto third_packet = std::make_unique<Packet>();
third_packet->size = 400;
queue.AcceptPacket(std::move(third_packet));
EXPECT_EQ(1000u, queue.bytes_queued());
diff --git a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/switch.cc b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/switch.cc
index 809c7f8d785..e9b57ec6171 100644
--- a/chromium/net/third_party/quiche/src/quic/test_tools/simulator/switch.cc
+++ b/chromium/net/third_party/quiche/src/quic/test_tools/simulator/switch.cc
@@ -3,8 +3,8 @@
// found in the LICENSE file.
#include <cinttypes>
+#include <utility>
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_str_cat.h"
#include "net/third_party/quiche/src/quic/test_tools/simulator/switch.h"
@@ -77,7 +77,7 @@ void Switch::DispatchPacket(SwitchPortNumber port_number,
if (!egress_port.connected()) {
continue;
}
- egress_port.EnqueuePacket(QuicMakeUnique<Packet>(*packet));
+ egress_port.EnqueuePacket(std::make_unique<Packet>(*packet));
}
}