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

Side by Side Diff: net/base/host_resolver_impl.cc

Issue 4192012: Convert implicit scoped_refptr constructor calls to explicit ones, part 1 (Closed) Base URL: http://git.chromium.org/git/chromium.git
Patch Set: fix presubmit Created 10 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 | Annotate | Revision Log
« no previous file with comments | « net/base/directory_lister_unittest.cc ('k') | net/base/host_resolver_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/base/host_resolver_impl.h" 5 #include "net/base/host_resolver_impl.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <Winsock2.h> 8 #include <Winsock2.h>
9 #elif defined(OS_POSIX) 9 #elif defined(OS_POSIX)
10 #include <netdb.h> 10 #include <netdb.h>
(...skipping 1353 matching lines...) Expand 10 before | Expand all | Expand 10 after
1364 JobPool* pool = job_pools_[i]; 1364 JobPool* pool = job_pools_[i];
1365 if (pool->HasPendingRequests() && CanCreateJobForPool(*pool)) { 1365 if (pool->HasPendingRequests() && CanCreateJobForPool(*pool)) {
1366 top_req = pool->RemoveTopPendingRequest(); 1366 top_req = pool->RemoveTopPendingRequest();
1367 break; 1367 break;
1368 } 1368 }
1369 } 1369 }
1370 1370
1371 if (!top_req) 1371 if (!top_req)
1372 return; 1372 return;
1373 1373
1374 scoped_refptr<Job> job = CreateAndStartJob(top_req); 1374 scoped_refptr<Job> job(CreateAndStartJob(top_req));
1375 1375
1376 // Search for any other pending request which can piggy-back off this job. 1376 // Search for any other pending request which can piggy-back off this job.
1377 for (size_t pool_i = 0; pool_i < POOL_COUNT; ++pool_i) { 1377 for (size_t pool_i = 0; pool_i < POOL_COUNT; ++pool_i) {
1378 JobPool* pool = job_pools_[pool_i]; 1378 JobPool* pool = job_pools_[pool_i];
1379 pool->MoveRequestsToJob(job); 1379 pool->MoveRequestsToJob(job);
1380 } 1380 }
1381 } 1381 }
1382 1382
1383 HostResolverImpl::Key HostResolverImpl::GetEffectiveKeyForRequest( 1383 HostResolverImpl::Key HostResolverImpl::GetEffectiveKeyForRequest(
1384 const RequestInfo& info) const { 1384 const RequestInfo& info) const {
1385 HostResolverFlags effective_flags = 1385 HostResolverFlags effective_flags =
1386 info.host_resolver_flags() | additional_resolver_flags_; 1386 info.host_resolver_flags() | additional_resolver_flags_;
1387 AddressFamily effective_address_family = info.address_family(); 1387 AddressFamily effective_address_family = info.address_family();
1388 if (effective_address_family == ADDRESS_FAMILY_UNSPECIFIED && 1388 if (effective_address_family == ADDRESS_FAMILY_UNSPECIFIED &&
1389 default_address_family_ != ADDRESS_FAMILY_UNSPECIFIED) { 1389 default_address_family_ != ADDRESS_FAMILY_UNSPECIFIED) {
1390 effective_address_family = default_address_family_; 1390 effective_address_family = default_address_family_;
1391 if (ipv6_probe_monitoring_) 1391 if (ipv6_probe_monitoring_)
1392 effective_flags |= HOST_RESOLVER_DEFAULT_FAMILY_SET_DUE_TO_NO_IPV6; 1392 effective_flags |= HOST_RESOLVER_DEFAULT_FAMILY_SET_DUE_TO_NO_IPV6;
1393 } 1393 }
1394 return Key(info.hostname(), effective_address_family, effective_flags); 1394 return Key(info.hostname(), effective_address_family, effective_flags);
1395 } 1395 }
1396 1396
1397 HostResolverImpl::Job* HostResolverImpl::CreateAndStartJob(Request* req) { 1397 HostResolverImpl::Job* HostResolverImpl::CreateAndStartJob(Request* req) {
1398 DCHECK(CanCreateJobForPool(*GetPoolForRequest(req))); 1398 DCHECK(CanCreateJobForPool(*GetPoolForRequest(req)));
1399 Key key = GetEffectiveKeyForRequest(req->info()); 1399 Key key = GetEffectiveKeyForRequest(req->info());
1400 1400
1401 req->request_net_log().AddEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_CREATE_JOB, 1401 req->request_net_log().AddEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_CREATE_JOB,
1402 NULL); 1402 NULL);
1403 1403
1404 scoped_refptr<Job> job = new Job(next_job_id_++, this, key, 1404 scoped_refptr<Job> job(new Job(next_job_id_++, this, key,
1405 req->request_net_log(), net_log_); 1405 req->request_net_log(), net_log_));
1406 job->AddRequest(req); 1406 job->AddRequest(req);
1407 AddOutstandingJob(job); 1407 AddOutstandingJob(job);
1408 job->Start(); 1408 job->Start();
1409 1409
1410 return job.get(); 1410 return job.get();
1411 } 1411 }
1412 1412
1413 int HostResolverImpl::EnqueueRequest(JobPool* pool, Request* req) { 1413 int HostResolverImpl::EnqueueRequest(JobPool* pool, Request* req) {
1414 scoped_ptr<Request> req_evicted_from_queue( 1414 scoped_ptr<Request> req_evicted_from_queue(
1415 pool->InsertPendingRequest(req)); 1415 pool->InsertPendingRequest(req));
(...skipping 28 matching lines...) Expand all
1444 job_pools_[i]->ResetNumOutstandingJobs(); 1444 job_pools_[i]->ResetNumOutstandingJobs();
1445 JobMap jobs; 1445 JobMap jobs;
1446 jobs.swap(jobs_); 1446 jobs.swap(jobs_);
1447 for (JobMap::iterator it = jobs.begin(); it != jobs.end(); ++it) { 1447 for (JobMap::iterator it = jobs.begin(); it != jobs.end(); ++it) {
1448 AbortJob(it->second); 1448 AbortJob(it->second);
1449 it->second->Cancel(); 1449 it->second->Cancel();
1450 } 1450 }
1451 } 1451 }
1452 1452
1453 } // namespace net 1453 } // namespace net
OLDNEW
« no previous file with comments | « net/base/directory_lister_unittest.cc ('k') | net/base/host_resolver_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698