In QuicToyClient, set max_inbound_header_list_size to 128K by default.
PiperOrigin-RevId: 389026085
diff --git a/quic/tools/quic_spdy_client_base.cc b/quic/tools/quic_spdy_client_base.cc
index 4f51eb4..464fa70 100644
--- a/quic/tools/quic_spdy_client_base.cc
+++ b/quic/tools/quic_spdy_client_base.cc
@@ -67,6 +67,10 @@
}
void QuicSpdyClientBase::InitializeSession() {
+ if (max_inbound_header_list_size_ > 0) {
+ client_session()->set_max_inbound_header_list_size(
+ max_inbound_header_list_size_);
+ }
client_session()->Initialize();
client_session()->CryptoConnect();
}
diff --git a/quic/tools/quic_spdy_client_base.h b/quic/tools/quic_spdy_client_base.h
index 2ba55f1..c49d0ed 100644
--- a/quic/tools/quic_spdy_client_base.h
+++ b/quic/tools/quic_spdy_client_base.h
@@ -149,6 +149,10 @@
bool EarlyDataAccepted() override;
bool ReceivedInchoateReject() override;
+ void set_max_inbound_header_list_size(size_t size) {
+ max_inbound_header_list_size_ = size;
+ }
+
protected:
int GetNumSentClientHellosFromSession() override;
int GetNumReceivedServerConfigUpdatesFromSession() override;
@@ -223,6 +227,9 @@
bool drop_response_body_ = false;
bool enable_web_transport_ = false;
+ // If not zero, used to set client's max inbound header size before session
+ // initialize.
+ size_t max_inbound_header_list_size_ = 0;
};
} // namespace quic
diff --git a/quic/tools/quic_toy_client.cc b/quic/tools/quic_toy_client.cc
index 81a0202..5cda202 100644
--- a/quic/tools/quic_toy_client.cc
+++ b/quic/tools/quic_toy_client.cc
@@ -215,6 +215,9 @@
10000,
"Max time to wait before handshake completes.");
+DEFINE_QUIC_COMMAND_LINE_FLAG(size_t, max_inbound_header_list_size, 128 * 1024,
+ "Max inbound header list size. 0 means default.");
+
namespace quic {
QuicToyClient::QuicToyClient(ClientFactory* client_factory)
@@ -331,6 +334,11 @@
if (client_connection_id_length >= 0) {
client->set_client_connection_id_length(client_connection_id_length);
}
+ const size_t max_inbound_header_list_size =
+ GetQuicFlag(FLAGS_max_inbound_header_list_size);
+ if (max_inbound_header_list_size > 0) {
+ client->set_max_inbound_header_list_size(max_inbound_header_list_size);
+ }
if (!client->Initialize()) {
std::cerr << "Failed to initialize client." << std::endl;
return 1;