diff options
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.cc | 23 |
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; |