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

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

Issue 1545233002: Convert Pass()→std::move() in //net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months 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) 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/proxy/multi_threaded_proxy_resolver.h" 5 #include "net/proxy/multi_threaded_proxy_resolver.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 void Destroy(); 58 void Destroy();
59 59
60 // Returns the outstanding job, or NULL. 60 // Returns the outstanding job, or NULL.
61 Job* outstanding_job() const { return outstanding_job_.get(); } 61 Job* outstanding_job() const { return outstanding_job_.get(); }
62 62
63 ProxyResolver* resolver() { return resolver_.get(); } 63 ProxyResolver* resolver() { return resolver_.get(); }
64 64
65 int thread_number() const { return thread_number_; } 65 int thread_number() const { return thread_number_; }
66 66
67 void set_resolver(scoped_ptr<ProxyResolver> resolver) { 67 void set_resolver(scoped_ptr<ProxyResolver> resolver) {
68 resolver_ = resolver.Pass(); 68 resolver_ = std::move(resolver);
69 } 69 }
70 70
71 void set_coordinator(Coordinator* coordinator) { 71 void set_coordinator(Coordinator* coordinator) {
72 DCHECK(coordinator); 72 DCHECK(coordinator);
73 DCHECK(coordinator_); 73 DCHECK(coordinator_);
74 coordinator_ = coordinator; 74 coordinator_ = coordinator;
75 } 75 }
76 76
77 private: 77 private:
78 friend class base::RefCountedThreadSafe<Executor>; 78 friend class base::RefCountedThreadSafe<Executor>;
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 255
256 protected: 256 protected:
257 ~CreateResolverJob() override {} 257 ~CreateResolverJob() override {}
258 258
259 private: 259 private:
260 // Runs the completion callback on the origin thread. 260 // Runs the completion callback on the origin thread.
261 void RequestComplete(int result_code) { 261 void RequestComplete(int result_code) {
262 // The task may have been cancelled after it was started. 262 // The task may have been cancelled after it was started.
263 if (!was_cancelled()) { 263 if (!was_cancelled()) {
264 DCHECK(executor()); 264 DCHECK(executor());
265 executor()->set_resolver(resolver_.Pass()); 265 executor()->set_resolver(std::move(resolver_));
266 } 266 }
267 OnJobCompleted(); 267 OnJobCompleted();
268 } 268 }
269 269
270 const scoped_refptr<ProxyResolverScriptData> script_data_; 270 const scoped_refptr<ProxyResolverScriptData> script_data_;
271 ProxyResolverFactory* factory_; 271 ProxyResolverFactory* factory_;
272 scoped_ptr<ProxyResolver> resolver_; 272 scoped_ptr<ProxyResolver> resolver_;
273 }; 273 };
274 274
275 // MultiThreadedProxyResolver::GetProxyForURLJob ------------------------------ 275 // MultiThreadedProxyResolver::GetProxyForURLJob ------------------------------
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 DCHECK(!outstanding_job_.get()); 416 DCHECK(!outstanding_job_.get());
417 } 417 }
418 418
419 // MultiThreadedProxyResolver -------------------------------------------------- 419 // MultiThreadedProxyResolver --------------------------------------------------
420 420
421 MultiThreadedProxyResolver::MultiThreadedProxyResolver( 421 MultiThreadedProxyResolver::MultiThreadedProxyResolver(
422 scoped_ptr<ProxyResolverFactory> resolver_factory, 422 scoped_ptr<ProxyResolverFactory> resolver_factory,
423 size_t max_num_threads, 423 size_t max_num_threads,
424 const scoped_refptr<ProxyResolverScriptData>& script_data, 424 const scoped_refptr<ProxyResolverScriptData>& script_data,
425 scoped_refptr<Executor> executor) 425 scoped_refptr<Executor> executor)
426 : resolver_factory_(resolver_factory.Pass()), 426 : resolver_factory_(std::move(resolver_factory)),
427 max_num_threads_(max_num_threads), 427 max_num_threads_(max_num_threads),
428 script_data_(script_data) { 428 script_data_(script_data) {
429 DCHECK(script_data_); 429 DCHECK(script_data_);
430 executor->set_coordinator(this); 430 executor->set_coordinator(this);
431 executors_.push_back(executor); 431 executors_.push_back(executor);
432 } 432 }
433 433
434 MultiThreadedProxyResolver::~MultiThreadedProxyResolver() { 434 MultiThreadedProxyResolver::~MultiThreadedProxyResolver() {
435 DCHECK(CalledOnValidThread()); 435 DCHECK(CalledOnValidThread());
436 // We will cancel all outstanding requests. 436 // We will cancel all outstanding requests.
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 public Executor::Coordinator { 543 public Executor::Coordinator {
544 public: 544 public:
545 Job(MultiThreadedProxyResolverFactory* factory, 545 Job(MultiThreadedProxyResolverFactory* factory,
546 const scoped_refptr<ProxyResolverScriptData>& script_data, 546 const scoped_refptr<ProxyResolverScriptData>& script_data,
547 scoped_ptr<ProxyResolver>* resolver, 547 scoped_ptr<ProxyResolver>* resolver,
548 scoped_ptr<ProxyResolverFactory> resolver_factory, 548 scoped_ptr<ProxyResolverFactory> resolver_factory,
549 size_t max_num_threads, 549 size_t max_num_threads,
550 const CompletionCallback& callback) 550 const CompletionCallback& callback)
551 : factory_(factory), 551 : factory_(factory),
552 resolver_out_(resolver), 552 resolver_out_(resolver),
553 resolver_factory_(resolver_factory.Pass()), 553 resolver_factory_(std::move(resolver_factory)),
554 max_num_threads_(max_num_threads), 554 max_num_threads_(max_num_threads),
555 script_data_(script_data), 555 script_data_(script_data),
556 executor_(new Executor(this, 0)), 556 executor_(new Executor(this, 0)),
557 callback_(callback) { 557 callback_(callback) {
558 executor_->StartJob( 558 executor_->StartJob(
559 new CreateResolverJob(script_data_, resolver_factory_.get())); 559 new CreateResolverJob(script_data_, resolver_factory_.get()));
560 } 560 }
561 561
562 ~Job() override { 562 ~Job() override {
563 if (factory_) { 563 if (factory_) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 613
614 int MultiThreadedProxyResolverFactory::CreateProxyResolver( 614 int MultiThreadedProxyResolverFactory::CreateProxyResolver(
615 const scoped_refptr<ProxyResolverScriptData>& pac_script, 615 const scoped_refptr<ProxyResolverScriptData>& pac_script,
616 scoped_ptr<ProxyResolver>* resolver, 616 scoped_ptr<ProxyResolver>* resolver,
617 const CompletionCallback& callback, 617 const CompletionCallback& callback,
618 scoped_ptr<Request>* request) { 618 scoped_ptr<Request>* request) {
619 scoped_ptr<Job> job(new Job(this, pac_script, resolver, 619 scoped_ptr<Job> job(new Job(this, pac_script, resolver,
620 CreateProxyResolverFactory(), max_num_threads_, 620 CreateProxyResolverFactory(), max_num_threads_,
621 callback)); 621 callback));
622 jobs_.insert(job.get()); 622 jobs_.insert(job.get());
623 *request = job.Pass(); 623 *request = std::move(job);
624 return ERR_IO_PENDING; 624 return ERR_IO_PENDING;
625 } 625 }
626 626
627 void MultiThreadedProxyResolverFactory::RemoveJob( 627 void MultiThreadedProxyResolverFactory::RemoveJob(
628 MultiThreadedProxyResolverFactory::Job* job) { 628 MultiThreadedProxyResolverFactory::Job* job) {
629 size_t erased = jobs_.erase(job); 629 size_t erased = jobs_.erase(job);
630 DCHECK_EQ(1u, erased); 630 DCHECK_EQ(1u, erased);
631 } 631 }
632 632
633 } // namespace net 633 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/mojo_proxy_type_converters.cc ('k') | net/proxy/multi_threaded_proxy_resolver_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698