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

Side by Side Diff: net/http/http_cache.cc

Issue 8526006: Close idle sockets next time we are about to send data. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: code conventions Created 9 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_cache.h" 5 #include "net/http/http_cache.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 10
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 CertVerifier* cert_verifier, 46 CertVerifier* cert_verifier,
47 OriginBoundCertService* origin_bound_cert_service, 47 OriginBoundCertService* origin_bound_cert_service,
48 DnsRRResolver* dnsrr_resolver, 48 DnsRRResolver* dnsrr_resolver,
49 DnsCertProvenanceChecker* dns_cert_checker, 49 DnsCertProvenanceChecker* dns_cert_checker,
50 ProxyService* proxy_service, 50 ProxyService* proxy_service,
51 SSLHostInfoFactory* ssl_host_info_factory, 51 SSLHostInfoFactory* ssl_host_info_factory,
52 SSLConfigService* ssl_config_service, 52 SSLConfigService* ssl_config_service,
53 HttpAuthHandlerFactory* http_auth_handler_factory, 53 HttpAuthHandlerFactory* http_auth_handler_factory,
54 NetworkDelegate* network_delegate, 54 NetworkDelegate* network_delegate,
55 HttpServerProperties* http_server_properties, 55 HttpServerProperties* http_server_properties,
56 NetLog* net_log) { 56 NetLog* net_log,
57 HttpCache::IdleSocketCleanupMode cleanup_mode) {
58
57 HttpNetworkSession::Params params; 59 HttpNetworkSession::Params params;
58 params.host_resolver = host_resolver; 60 params.host_resolver = host_resolver;
59 params.cert_verifier = cert_verifier; 61 params.cert_verifier = cert_verifier;
60 params.origin_bound_cert_service = origin_bound_cert_service; 62 params.origin_bound_cert_service = origin_bound_cert_service;
61 params.dnsrr_resolver = dnsrr_resolver; 63 params.dnsrr_resolver = dnsrr_resolver;
62 params.dns_cert_checker = dns_cert_checker; 64 params.dns_cert_checker = dns_cert_checker;
63 params.proxy_service = proxy_service; 65 params.proxy_service = proxy_service;
64 params.ssl_host_info_factory = ssl_host_info_factory; 66 params.ssl_host_info_factory = ssl_host_info_factory;
65 params.ssl_config_service = ssl_config_service; 67 params.ssl_config_service = ssl_config_service;
66 params.http_auth_handler_factory = http_auth_handler_factory; 68 params.http_auth_handler_factory = http_auth_handler_factory;
67 params.network_delegate = network_delegate; 69 params.network_delegate = network_delegate;
68 params.http_server_properties = http_server_properties; 70 params.http_server_properties = http_server_properties;
69 params.net_log = net_log; 71 params.net_log = net_log;
72 params.use_cleanup_timer = (cleanup_mode == HttpCache::USE_CLEANUP_TIMER);
70 return new HttpNetworkSession(params); 73 return new HttpNetworkSession(params);
71 } 74 }
72 75
73 } // namespace 76 } // namespace
74 77
75 HttpCache::DefaultBackend::DefaultBackend(CacheType type, 78 HttpCache::DefaultBackend::DefaultBackend(CacheType type,
76 const FilePath& path, 79 const FilePath& path,
77 int max_bytes, 80 int max_bytes,
78 base::MessageLoopProxy* thread) 81 base::MessageLoopProxy* thread)
79 : type_(type), 82 : type_(type),
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 CertVerifier* cert_verifier, 322 CertVerifier* cert_verifier,
320 OriginBoundCertService* origin_bound_cert_service, 323 OriginBoundCertService* origin_bound_cert_service,
321 DnsRRResolver* dnsrr_resolver, 324 DnsRRResolver* dnsrr_resolver,
322 DnsCertProvenanceChecker* dns_cert_checker_, 325 DnsCertProvenanceChecker* dns_cert_checker_,
323 ProxyService* proxy_service, 326 ProxyService* proxy_service,
324 SSLConfigService* ssl_config_service, 327 SSLConfigService* ssl_config_service,
325 HttpAuthHandlerFactory* http_auth_handler_factory, 328 HttpAuthHandlerFactory* http_auth_handler_factory,
326 NetworkDelegate* network_delegate, 329 NetworkDelegate* network_delegate,
327 HttpServerProperties* http_server_properties, 330 HttpServerProperties* http_server_properties,
328 NetLog* net_log, 331 NetLog* net_log,
329 BackendFactory* backend_factory) 332 BackendFactory* backend_factory,
333 IdleSocketCleanupMode cleanup_mode)
330 : net_log_(net_log), 334 : net_log_(net_log),
331 backend_factory_(backend_factory), 335 backend_factory_(backend_factory),
332 building_backend_(false), 336 building_backend_(false),
333 mode_(NORMAL), 337 mode_(NORMAL),
334 ssl_host_info_factory_(new SSLHostInfoFactoryAdaptor( 338 ssl_host_info_factory_(new SSLHostInfoFactoryAdaptor(
335 cert_verifier, 339 cert_verifier,
336 ALLOW_THIS_IN_INITIALIZER_LIST(this))), 340 ALLOW_THIS_IN_INITIALIZER_LIST(this))),
337 network_layer_( 341 network_layer_(
338 new HttpNetworkLayer( 342 new HttpNetworkLayer(
339 CreateNetworkSession( 343 CreateNetworkSession(
340 host_resolver, 344 host_resolver,
341 cert_verifier, 345 cert_verifier,
342 origin_bound_cert_service, 346 origin_bound_cert_service,
343 dnsrr_resolver, 347 dnsrr_resolver,
344 dns_cert_checker_, 348 dns_cert_checker_,
345 proxy_service, 349 proxy_service,
346 ssl_host_info_factory_.get(), 350 ssl_host_info_factory_.get(),
347 ssl_config_service, 351 ssl_config_service,
348 http_auth_handler_factory, 352 http_auth_handler_factory,
349 network_delegate, 353 network_delegate,
350 http_server_properties, 354 http_server_properties,
351 net_log))) { 355 net_log,
356 cleanup_mode))) {
352 } 357 }
353 358
354 359
355 HttpCache::HttpCache(HttpNetworkSession* session, 360 HttpCache::HttpCache(HttpNetworkSession* session,
356 BackendFactory* backend_factory) 361 BackendFactory* backend_factory)
357 : net_log_(session->net_log()), 362 : net_log_(session->net_log()),
358 backend_factory_(backend_factory), 363 backend_factory_(backend_factory),
359 building_backend_(false), 364 building_backend_(false),
360 mode_(NORMAL), 365 mode_(NORMAL),
361 ssl_host_info_factory_(new SSLHostInfoFactoryAdaptor( 366 ssl_host_info_factory_(new SSLHostInfoFactoryAdaptor(
(...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after
1161 building_backend_ = false; 1166 building_backend_ = false;
1162 DeletePendingOp(pending_op); 1167 DeletePendingOp(pending_op);
1163 } 1168 }
1164 1169
1165 // The cache may be gone when we return from the callback. 1170 // The cache may be gone when we return from the callback.
1166 if (!item->DoCallback(result, backend)) 1171 if (!item->DoCallback(result, backend))
1167 item->NotifyTransaction(result, NULL); 1172 item->NotifyTransaction(result, NULL);
1168 } 1173 }
1169 1174
1170 } // namespace net 1175 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698