Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Unified Diff: net/http/http_network_session.cc

Issue 2327923002: Revert of Remove obsolete QUIC disabling code. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_network_session.h ('k') | net/http/http_stream_factory_impl_job.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_network_session.cc
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
index a4c1913950f22ea0043739f92f5ffb317a66c5b3..b7993218f215447b3eb4d660bc8d6e635e0826c7 100644
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -65,6 +65,11 @@
// that seems large enough to receive data at line rate for most connections,
// and does not consume "too much" memory.
const int32_t kQuicSocketReceiveBufferSize = 1024 * 1024; // 1MB
+
+// Number of recent connections to consider for certain thresholds
+// that trigger disabling QUIC. E.g. disable QUIC if PUBLIC_RESET was
+// received post handshake for at least 2 of 20 recent connections.
+const int32_t kQuicMaxRecentDisabledReasons = 20;
HttpNetworkSession::Params::Params()
: client_socket_factory(NULL),
@@ -101,6 +106,8 @@
quic_enable_non_blocking_io(false),
quic_disable_disk_cache(false),
quic_prefer_aes(false),
+ quic_max_number_of_lossy_connections(0),
+ quic_packet_loss_threshold(1.0f),
quic_socket_receive_buffer_size(kQuicSocketReceiveBufferSize),
quic_delay_tcp_race(true),
quic_max_server_configs_stored_in_properties(0u),
@@ -110,6 +117,9 @@
enable_user_alternate_protocol_ports(false),
quic_crypto_client_stream_factory(
QuicCryptoClientStreamFactory::GetDefaultFactory()),
+ quic_max_recent_disabled_reasons(kQuicMaxRecentDisabledReasons),
+ quic_threshold_public_resets_post_handshake(0),
+ quic_threshold_timeouts_streams_open(0),
quic_close_sessions_on_ip_change(false),
quic_idle_connection_timeout_seconds(kIdleConnectionTimeoutSeconds),
quic_reduced_ping_timeout_seconds(kPingTimeoutSecs),
@@ -169,6 +179,11 @@
params.quic_enable_non_blocking_io,
params.quic_disable_disk_cache,
params.quic_prefer_aes,
+ params.quic_max_number_of_lossy_connections,
+ params.quic_packet_loss_threshold,
+ params.quic_max_recent_disabled_reasons,
+ params.quic_threshold_public_resets_post_handshake,
+ params.quic_threshold_timeouts_streams_open,
params.quic_socket_receive_buffer_size,
params.quic_delay_tcp_race,
params.quic_max_server_configs_stored_in_properties,
@@ -321,6 +336,9 @@
params_.quic_enable_connection_racing);
dict->SetBoolean("disable_disk_cache", params_.quic_disable_disk_cache);
dict->SetBoolean("prefer_aes", params_.quic_prefer_aes);
+ dict->SetInteger("max_number_of_lossy_connections",
+ params_.quic_max_number_of_lossy_connections);
+ dict->SetDouble("packet_loss_threshold", params_.quic_packet_loss_threshold);
dict->SetBoolean("delay_tcp_race", params_.quic_delay_tcp_race);
dict->SetInteger("max_server_configs_stored_in_properties",
params_.quic_max_server_configs_stored_in_properties);
@@ -335,7 +353,8 @@
params_.quic_disable_preconnect_if_0rtt);
dict->SetBoolean("disable_quic_on_timeout_with_open_streams",
params_.disable_quic_on_timeout_with_open_streams);
- dict->SetBoolean("is_quic_disabled", quic_stream_factory_.IsQuicDisabled());
+ dict->SetString("disabled_reason",
+ quic_stream_factory_.QuicDisabledReasonString());
dict->SetBoolean("force_hol_blocking", params_.quic_force_hol_blocking);
dict->SetBoolean("race_cert_verification",
params_.quic_race_cert_verification);
« no previous file with comments | « net/http/http_network_session.h ('k') | net/http/http_stream_factory_impl_job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698