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

Side by Side Diff: net/proxy/multi_threaded_proxy_resolver.cc

Issue 4291001: Convert implicit scoped_refptr constructor calls to explicit ones, part 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/build
Patch Set: comments 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/proxy/init_proxy_resolver.cc ('k') | net/proxy/proxy_bypass_rules.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/proxy/multi_threaded_proxy_resolver.h" 5 #include "net/proxy/multi_threaded_proxy_resolver.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/thread.h" 10 #include "base/thread.h"
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 virtual void FinishedWaitingForThread() { 240 virtual void FinishedWaitingForThread() {
241 DCHECK(executor()); 241 DCHECK(executor());
242 242
243 if (was_waiting_for_thread_) { 243 if (was_waiting_for_thread_) {
244 net_log_.EndEvent( 244 net_log_.EndEvent(
245 NetLog::TYPE_WAITING_FOR_PROXY_RESOLVER_THREAD, NULL); 245 NetLog::TYPE_WAITING_FOR_PROXY_RESOLVER_THREAD, NULL);
246 } 246 }
247 247
248 net_log_.AddEvent( 248 net_log_.AddEvent(
249 NetLog::TYPE_SUBMITTED_TO_RESOLVER_THREAD, 249 NetLog::TYPE_SUBMITTED_TO_RESOLVER_THREAD,
250 new NetLogIntegerParameter( 250 make_scoped_refptr(new NetLogIntegerParameter(
251 "thread_number", executor()->thread_number())); 251 "thread_number", executor()->thread_number())));
252 } 252 }
253 253
254 // Runs on the worker thread. 254 // Runs on the worker thread.
255 virtual void Run(MessageLoop* origin_loop) { 255 virtual void Run(MessageLoop* origin_loop) {
256 const size_t kNetLogBound = 50u; 256 const size_t kNetLogBound = 50u;
257 worker_log_.reset(new CapturingNetLog(kNetLogBound)); 257 worker_log_.reset(new CapturingNetLog(kNetLogBound));
258 BoundNetLog bound_worker_log(NetLog::Source(), worker_log_.get()); 258 BoundNetLog bound_worker_log(NetLog::Source(), worker_log_.get());
259 259
260 ProxyResolver* resolver = executor()->resolver(); 260 ProxyResolver* resolver = executor()->resolver();
261 int rv = resolver->GetProxyForURL( 261 int rv = resolver->GetProxyForURL(
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 550
551 MultiThreadedProxyResolver::Executor* 551 MultiThreadedProxyResolver::Executor*
552 MultiThreadedProxyResolver::AddNewExecutor() { 552 MultiThreadedProxyResolver::AddNewExecutor() {
553 DCHECK(CalledOnValidThread()); 553 DCHECK(CalledOnValidThread());
554 DCHECK_LT(executors_.size(), max_num_threads_); 554 DCHECK_LT(executors_.size(), max_num_threads_);
555 // The "thread number" is used to give the thread a unique name. 555 // The "thread number" is used to give the thread a unique name.
556 int thread_number = executors_.size(); 556 int thread_number = executors_.size();
557 ProxyResolver* resolver = resolver_factory_->CreateProxyResolver(); 557 ProxyResolver* resolver = resolver_factory_->CreateProxyResolver();
558 Executor* executor = new Executor( 558 Executor* executor = new Executor(
559 this, resolver, thread_number); 559 this, resolver, thread_number);
560 executors_.push_back(executor); 560 executors_.push_back(make_scoped_refptr(executor));
561 return executor; 561 return executor;
562 } 562 }
563 563
564 void MultiThreadedProxyResolver::OnExecutorReady(Executor* executor) { 564 void MultiThreadedProxyResolver::OnExecutorReady(Executor* executor) {
565 DCHECK(CalledOnValidThread()); 565 DCHECK(CalledOnValidThread());
566 if (pending_jobs_.empty()) 566 if (pending_jobs_.empty())
567 return; 567 return;
568 568
569 // Get the next job to process (FIFO). Transfer it from the pending queue 569 // Get the next job to process (FIFO). Transfer it from the pending queue
570 // to the executor. 570 // to the executor.
571 scoped_refptr<Job> job = pending_jobs_.front(); 571 scoped_refptr<Job> job = pending_jobs_.front();
572 pending_jobs_.pop_front(); 572 pending_jobs_.pop_front();
573 executor->StartJob(job); 573 executor->StartJob(job);
574 } 574 }
575 575
576 } // namespace net 576 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/init_proxy_resolver.cc ('k') | net/proxy/proxy_bypass_rules.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698