summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc')
-rw-r--r--chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc23
1 files changed, 19 insertions, 4 deletions
diff --git a/chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc b/chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc
index 09e7a50d571..eee4e6132d7 100644
--- a/chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc
+++ b/chromium/net/third_party/quiche/src/quic/tools/quic_toy_client.cc
@@ -45,6 +45,7 @@
#include <iostream>
#include <memory>
#include <string>
+#include <utility>
#include <vector>
#include "net/third_party/quiche/src/quic/core/quic_packets.h"
@@ -52,7 +53,6 @@
#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_default_proof_providers.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_str_cat.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h"
@@ -161,6 +161,12 @@ DEFINE_QUIC_COMMAND_LINE_FLAG(
false,
"If true, drop response body immediately after it is received.");
+DEFINE_QUIC_COMMAND_LINE_FLAG(
+ bool,
+ disable_port_changes,
+ false,
+ "If true, do not change local port after each request.");
+
namespace quic {
QuicToyClient::QuicToyClient(ClientFactory* client_factory)
@@ -189,7 +195,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
} else if (!quic_version_string.empty()) {
if (quic_version_string[0] == 'T') {
// ParseQuicVersionString checks quic_supports_tls_handshake.
- SetQuicFlag(FLAGS_quic_supports_tls_handshake, true);
+ SetQuicReloadableFlag(quic_supports_tls_handshake, true);
}
quic::ParsedQuicVersion parsed_quic_version =
quic::ParseQuicVersionString(quic_version_string);
@@ -209,7 +215,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
const int32_t num_requests(GetQuicFlag(FLAGS_num_requests));
std::unique_ptr<quic::ProofVerifier> proof_verifier;
if (GetQuicFlag(FLAGS_disable_certificate_verification)) {
- proof_verifier = quic::QuicMakeUnique<FakeProofVerifier>();
+ proof_verifier = std::make_unique<FakeProofVerifier>();
} else {
proof_verifier = quic::CreateDefaultProofVerifier(url.host());
}
@@ -218,6 +224,11 @@ int QuicToyClient::SendRequestsAndPrintResponses(
std::unique_ptr<QuicSpdyClientBase> client = client_factory_->CreateClient(
url.host(), host, port, versions, std::move(proof_verifier));
+ if (client == nullptr) {
+ std::cerr << "Failed to create client." << std::endl;
+ return 1;
+ }
+
int32_t initial_mtu = GetQuicFlag(FLAGS_initial_mtu);
client->set_initial_max_packet_length(
initial_mtu != 0 ? initial_mtu : quic::kDefaultMaxPacketSize);
@@ -226,6 +237,10 @@ int QuicToyClient::SendRequestsAndPrintResponses(
std::cerr << "Failed to initialize client." << std::endl;
return 1;
}
+ client->client_session()->set_qpack_maximum_dynamic_table_capacity(
+ kDefaultQpackMaxDynamicTableCapacity);
+ client->client_session()->set_qpack_maximum_blocked_streams(
+ kDefaultMaximumBlockedStreams);
if (!client->Connect()) {
quic::QuicErrorCode error = client->session()->error();
if (error == quic::QUIC_INVALID_VERSION) {
@@ -338,7 +353,7 @@ int QuicToyClient::SendRequestsAndPrintResponses(
}
// Change the ephemeral port if there are more requests to do.
- if (i + 1 < num_requests) {
+ if (!GetQuicFlag(FLAGS_disable_port_changes) && i + 1 < num_requests) {
if (!client->ChangeEphemeralPort()) {
std::cerr << "Failed to change ephemeral port." << std::endl;
return 1;