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 |