| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 const HttpNetworkSession::Params& params, | 43 const HttpNetworkSession::Params& params, |
| 44 const std::string& ssl_session_cache_shard) { | 44 const std::string& ssl_session_cache_shard) { |
| 45 // TODO(yutak): Differentiate WebSocket pool manager and allow more | 45 // TODO(yutak): Differentiate WebSocket pool manager and allow more |
| 46 // simultaneous connections for WebSockets. | 46 // simultaneous connections for WebSockets. |
| 47 return new ClientSocketPoolManagerImpl( | 47 return new ClientSocketPoolManagerImpl( |
| 48 params.net_log, | 48 params.net_log, |
| 49 params.client_socket_factory ? params.client_socket_factory | 49 params.client_socket_factory ? params.client_socket_factory |
| 50 : ClientSocketFactory::GetDefaultFactory(), | 50 : ClientSocketFactory::GetDefaultFactory(), |
| 51 params.host_resolver, params.cert_verifier, params.channel_id_service, | 51 params.host_resolver, params.cert_verifier, params.channel_id_service, |
| 52 params.transport_security_state, params.cert_transparency_verifier, | 52 params.transport_security_state, params.cert_transparency_verifier, |
| 53 params.cert_policy_enforcer, ssl_session_cache_shard, | 53 params.ct_policy_enforcer, ssl_session_cache_shard, |
| 54 params.ssl_config_service, pool_type); | 54 params.ssl_config_service, pool_type); |
| 55 } | 55 } |
| 56 | 56 |
| 57 } // unnamed namespace | 57 } // unnamed namespace |
| 58 | 58 |
| 59 // The maximum receive window sizes for HTTP/2 sessions and streams. | 59 // The maximum receive window sizes for HTTP/2 sessions and streams. |
| 60 const int32_t kSpdySessionMaxRecvWindowSize = 15 * 1024 * 1024; // 15 MB | 60 const int32_t kSpdySessionMaxRecvWindowSize = 15 * 1024 * 1024; // 15 MB |
| 61 const int32_t kSpdyStreamMaxRecvWindowSize = 6 * 1024 * 1024; // 6 MB | 61 const int32_t kSpdyStreamMaxRecvWindowSize = 6 * 1024 * 1024; // 6 MB |
| 62 // QUIC's socket receive buffer size. | 62 // QUIC's socket receive buffer size. |
| 63 // We should adaptively set this buffer size, but for now, we'll use a size | 63 // We should adaptively set this buffer size, but for now, we'll use a size |
| 64 // that seems large enough to receive data at line rate for most connections, | 64 // that seems large enough to receive data at line rate for most connections, |
| 65 // and does not consume "too much" memory. | 65 // and does not consume "too much" memory. |
| 66 const int32_t kQuicSocketReceiveBufferSize = 1024 * 1024; // 1MB | 66 const int32_t kQuicSocketReceiveBufferSize = 1024 * 1024; // 1MB |
| 67 | 67 |
| 68 // Number of recent connections to consider for certain thresholds | 68 // Number of recent connections to consider for certain thresholds |
| 69 // that trigger disabling QUIC. E.g. disable QUIC if PUBLIC_RESET was | 69 // that trigger disabling QUIC. E.g. disable QUIC if PUBLIC_RESET was |
| 70 // received post handshake for at least 2 of 20 recent connections. | 70 // received post handshake for at least 2 of 20 recent connections. |
| 71 const int32_t kQuicMaxRecentDisabledReasons = 20; | 71 const int32_t kQuicMaxRecentDisabledReasons = 20; |
| 72 | 72 |
| 73 HttpNetworkSession::Params::Params() | 73 HttpNetworkSession::Params::Params() |
| 74 : client_socket_factory(NULL), | 74 : client_socket_factory(NULL), |
| 75 host_resolver(NULL), | 75 host_resolver(NULL), |
| 76 cert_verifier(NULL), | 76 cert_verifier(NULL), |
| 77 cert_policy_enforcer(NULL), | 77 ct_policy_enforcer(NULL), |
| 78 channel_id_service(NULL), | 78 channel_id_service(NULL), |
| 79 transport_security_state(NULL), | 79 transport_security_state(NULL), |
| 80 cert_transparency_verifier(NULL), | 80 cert_transparency_verifier(NULL), |
| 81 proxy_service(NULL), | 81 proxy_service(NULL), |
| 82 ssl_config_service(NULL), | 82 ssl_config_service(NULL), |
| 83 http_auth_handler_factory(NULL), | 83 http_auth_handler_factory(NULL), |
| 84 network_delegate(NULL), | 84 network_delegate(NULL), |
| 85 net_log(NULL), | 85 net_log(NULL), |
| 86 host_mapping_rules(NULL), | 86 host_mapping_rules(NULL), |
| 87 socket_performance_watcher_factory(NULL), | 87 socket_performance_watcher_factory(NULL), |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 http_auth_handler_factory_(params.http_auth_handler_factory), | 142 http_auth_handler_factory_(params.http_auth_handler_factory), |
| 143 proxy_service_(params.proxy_service), | 143 proxy_service_(params.proxy_service), |
| 144 ssl_config_service_(params.ssl_config_service), | 144 ssl_config_service_(params.ssl_config_service), |
| 145 quic_stream_factory_( | 145 quic_stream_factory_( |
| 146 params.host_resolver, | 146 params.host_resolver, |
| 147 params.client_socket_factory | 147 params.client_socket_factory |
| 148 ? params.client_socket_factory | 148 ? params.client_socket_factory |
| 149 : ClientSocketFactory::GetDefaultFactory(), | 149 : ClientSocketFactory::GetDefaultFactory(), |
| 150 params.http_server_properties, | 150 params.http_server_properties, |
| 151 params.cert_verifier, | 151 params.cert_verifier, |
| 152 params.cert_policy_enforcer, | 152 params.ct_policy_enforcer, |
| 153 params.channel_id_service, | 153 params.channel_id_service, |
| 154 params.transport_security_state, | 154 params.transport_security_state, |
| 155 params.cert_transparency_verifier, | 155 params.cert_transparency_verifier, |
| 156 params.socket_performance_watcher_factory, | 156 params.socket_performance_watcher_factory, |
| 157 params.quic_crypto_client_stream_factory, | 157 params.quic_crypto_client_stream_factory, |
| 158 params.quic_random ? params.quic_random : QuicRandom::GetInstance(), | 158 params.quic_random ? params.quic_random : QuicRandom::GetInstance(), |
| 159 params.quic_clock ? params.quic_clock : new QuicClock(), | 159 params.quic_clock ? params.quic_clock : new QuicClock(), |
| 160 params.quic_max_packet_length, | 160 params.quic_max_packet_length, |
| 161 params.quic_user_agent_id, | 161 params.quic_user_agent_id, |
| 162 params.quic_supported_versions, | 162 params.quic_supported_versions, |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 case WEBSOCKET_SOCKET_POOL: | 382 case WEBSOCKET_SOCKET_POOL: |
| 383 return websocket_socket_pool_manager_.get(); | 383 return websocket_socket_pool_manager_.get(); |
| 384 default: | 384 default: |
| 385 NOTREACHED(); | 385 NOTREACHED(); |
| 386 break; | 386 break; |
| 387 } | 387 } |
| 388 return NULL; | 388 return NULL; |
| 389 } | 389 } |
| 390 | 390 |
| 391 } // namespace net | 391 } // namespace net |
| OLD | NEW |