| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/http/http_network_session.h" | 5 #include "net/http/http_network_session.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/atomic_sequence_num.h" | 9 #include "base/atomic_sequence_num.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 quic_threshold_public_resets_post_handshake(0), | 121 quic_threshold_public_resets_post_handshake(0), |
| 122 quic_threshold_timeouts_streams_open(0), | 122 quic_threshold_timeouts_streams_open(0), |
| 123 quic_close_sessions_on_ip_change(false), | 123 quic_close_sessions_on_ip_change(false), |
| 124 quic_idle_connection_timeout_seconds(kIdleConnectionTimeoutSeconds), | 124 quic_idle_connection_timeout_seconds(kIdleConnectionTimeoutSeconds), |
| 125 quic_disable_preconnect_if_0rtt(false), | 125 quic_disable_preconnect_if_0rtt(false), |
| 126 quic_migrate_sessions_on_network_change(false), | 126 quic_migrate_sessions_on_network_change(false), |
| 127 quic_migrate_sessions_early(false), | 127 quic_migrate_sessions_early(false), |
| 128 quic_allow_server_migration(false), | 128 quic_allow_server_migration(false), |
| 129 quic_disable_bidirectional_streams(false), | 129 quic_disable_bidirectional_streams(false), |
| 130 quic_force_hol_blocking(false), | 130 quic_force_hol_blocking(false), |
| 131 quic_race_cert_verification(false), |
| 131 proxy_delegate(NULL), | 132 proxy_delegate(NULL), |
| 132 enable_token_binding(false) { | 133 enable_token_binding(false) { |
| 133 quic_supported_versions.push_back(QUIC_VERSION_34); | 134 quic_supported_versions.push_back(QUIC_VERSION_34); |
| 134 } | 135 } |
| 135 | 136 |
| 136 HttpNetworkSession::Params::Params(const Params& other) = default; | 137 HttpNetworkSession::Params::Params(const Params& other) = default; |
| 137 | 138 |
| 138 HttpNetworkSession::Params::~Params() {} | 139 HttpNetworkSession::Params::~Params() {} |
| 139 | 140 |
| 140 // TODO(mbelshe): Move the socket factories into HttpStreamFactory. | 141 // TODO(mbelshe): Move the socket factories into HttpStreamFactory. |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 params.quic_socket_receive_buffer_size, | 182 params.quic_socket_receive_buffer_size, |
| 182 params.quic_delay_tcp_race, | 183 params.quic_delay_tcp_race, |
| 183 params.quic_max_server_configs_stored_in_properties, | 184 params.quic_max_server_configs_stored_in_properties, |
| 184 params.quic_close_sessions_on_ip_change, | 185 params.quic_close_sessions_on_ip_change, |
| 185 params.disable_quic_on_timeout_with_open_streams, | 186 params.disable_quic_on_timeout_with_open_streams, |
| 186 params.quic_idle_connection_timeout_seconds, | 187 params.quic_idle_connection_timeout_seconds, |
| 187 params.quic_migrate_sessions_on_network_change, | 188 params.quic_migrate_sessions_on_network_change, |
| 188 params.quic_migrate_sessions_early, | 189 params.quic_migrate_sessions_early, |
| 189 params.quic_allow_server_migration, | 190 params.quic_allow_server_migration, |
| 190 params.quic_force_hol_blocking, | 191 params.quic_force_hol_blocking, |
| 192 params.quic_race_cert_verification, |
| 191 params.quic_connection_options, | 193 params.quic_connection_options, |
| 192 params.enable_token_binding), | 194 params.enable_token_binding), |
| 193 spdy_session_pool_(params.host_resolver, | 195 spdy_session_pool_(params.host_resolver, |
| 194 params.ssl_config_service, | 196 params.ssl_config_service, |
| 195 params.http_server_properties, | 197 params.http_server_properties, |
| 196 params.transport_security_state, | 198 params.transport_security_state, |
| 197 params.enable_spdy_ping_based_connection_checking, | 199 params.enable_spdy_ping_based_connection_checking, |
| 198 params.spdy_session_max_recv_window_size, | 200 params.spdy_session_max_recv_window_size, |
| 199 params.spdy_stream_max_recv_window_size, | 201 params.spdy_stream_max_recv_window_size, |
| 200 params.time_func, | 202 params.time_func, |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 params_.quic_max_server_configs_stored_in_properties); | 336 params_.quic_max_server_configs_stored_in_properties); |
| 335 dict->SetInteger("idle_connection_timeout_seconds", | 337 dict->SetInteger("idle_connection_timeout_seconds", |
| 336 params_.quic_idle_connection_timeout_seconds); | 338 params_.quic_idle_connection_timeout_seconds); |
| 337 dict->SetBoolean("disable_preconnect_if_0rtt", | 339 dict->SetBoolean("disable_preconnect_if_0rtt", |
| 338 params_.quic_disable_preconnect_if_0rtt); | 340 params_.quic_disable_preconnect_if_0rtt); |
| 339 dict->SetBoolean("disable_quic_on_timeout_with_open_streams", | 341 dict->SetBoolean("disable_quic_on_timeout_with_open_streams", |
| 340 params_.disable_quic_on_timeout_with_open_streams); | 342 params_.disable_quic_on_timeout_with_open_streams); |
| 341 dict->SetString("disabled_reason", | 343 dict->SetString("disabled_reason", |
| 342 quic_stream_factory_.QuicDisabledReasonString()); | 344 quic_stream_factory_.QuicDisabledReasonString()); |
| 343 dict->SetBoolean("force_hol_blocking", params_.quic_force_hol_blocking); | 345 dict->SetBoolean("force_hol_blocking", params_.quic_force_hol_blocking); |
| 346 dict->SetBoolean("race_cert_verification", |
| 347 params_.quic_race_cert_verification); |
| 344 return std::move(dict); | 348 return std::move(dict); |
| 345 } | 349 } |
| 346 | 350 |
| 347 void HttpNetworkSession::CloseAllConnections() { | 351 void HttpNetworkSession::CloseAllConnections() { |
| 348 normal_socket_pool_manager_->FlushSocketPoolsWithError(ERR_ABORTED); | 352 normal_socket_pool_manager_->FlushSocketPoolsWithError(ERR_ABORTED); |
| 349 websocket_socket_pool_manager_->FlushSocketPoolsWithError(ERR_ABORTED); | 353 websocket_socket_pool_manager_->FlushSocketPoolsWithError(ERR_ABORTED); |
| 350 spdy_session_pool_.CloseCurrentSessions(ERR_ABORTED); | 354 spdy_session_pool_.CloseCurrentSessions(ERR_ABORTED); |
| 351 quic_stream_factory_.CloseAllSessions(ERR_ABORTED, QUIC_INTERNAL_ERROR); | 355 quic_stream_factory_.CloseAllSessions(ERR_ABORTED, QUIC_INTERNAL_ERROR); |
| 352 } | 356 } |
| 353 | 357 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE: | 409 case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE: |
| 406 break; | 410 break; |
| 407 case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE: | 411 case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE: |
| 408 case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL: | 412 case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL: |
| 409 CloseIdleConnections(); | 413 CloseIdleConnections(); |
| 410 break; | 414 break; |
| 411 } | 415 } |
| 412 } | 416 } |
| 413 | 417 |
| 414 } // namespace net | 418 } // namespace net |
| OLD | NEW |