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

Side by Side Diff: base/threading/sequenced_worker_pool.cc

Issue 9401032: Make SequencedWorkerPool a TaskRunner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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 | Annotate | Revision Log
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 "base/threading/sequenced_worker_pool.h" 5 #include "base/threading/sequenced_worker_pool.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/threading/sequenced_worker_pool_inner.h" 10 #include "base/threading/sequenced_worker_pool_inner.h"
11 #include "base/threading/sequenced_worker_pool_task_runner.h"
11 12
12 namespace base { 13 namespace base {
13 14
14 SequencedWorkerPool::SequencedWorkerPool(size_t max_threads, 15 SequencedWorkerPool::SequencedWorkerPool(size_t max_threads,
15 const std::string& thread_name_prefix) 16 const std::string& thread_name_prefix)
16 : inner_( 17 : inner_(
17 new internal::SequencedWorkerPoolInner( 18 new internal::SequencedWorkerPoolInner(
18 max_threads, thread_name_prefix)) { 19 max_threads, thread_name_prefix)) {
19 } 20 }
20 21
21 SequencedWorkerPool::~SequencedWorkerPool() { 22 SequencedWorkerPool::~SequencedWorkerPool() {
22 } 23 }
23 24
24 SequencedWorkerPool::SequenceToken SequencedWorkerPool::GetSequenceToken() { 25 SequencedWorkerPool::SequenceToken SequencedWorkerPool::GetSequenceToken() {
25 return inner_->GetSequenceToken(); 26 return inner_->GetSequenceToken();
26 } 27 }
27 28
28 SequencedWorkerPool::SequenceToken SequencedWorkerPool::GetNamedSequenceToken( 29 SequencedWorkerPool::SequenceToken SequencedWorkerPool::GetNamedSequenceToken(
29 const std::string& name) { 30 const std::string& name) {
30 return inner_->GetNamedSequenceToken(name); 31 return inner_->GetNamedSequenceToken(name);
31 } 32 }
32 33
34 scoped_refptr<TaskRunner> SequencedWorkerPool::GetTaskRunner() {
35 return new internal::SequencedWorkerPoolTaskRunner(inner_);
36 }
37
33 bool SequencedWorkerPool::PostWorkerTask( 38 bool SequencedWorkerPool::PostWorkerTask(
34 const tracked_objects::Location& from_here, 39 const tracked_objects::Location& from_here,
35 const base::Closure& task) { 40 const base::Closure& task) {
36 return inner_->PostTask(NULL, SequenceToken(), BLOCK_SHUTDOWN, 41 return inner_->PostTask(NULL, SequenceToken(), BLOCK_SHUTDOWN,
37 from_here, task); 42 from_here, task);
38 } 43 }
39 44
40 bool SequencedWorkerPool::PostWorkerTaskWithShutdownBehavior( 45 bool SequencedWorkerPool::PostWorkerTaskWithShutdownBehavior(
41 const tracked_objects::Location& from_here, 46 const tracked_objects::Location& from_here,
42 const base::Closure& task, 47 const base::Closure& task,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 82
78 void SequencedWorkerPool::Shutdown() { 83 void SequencedWorkerPool::Shutdown() {
79 inner_->Shutdown(); 84 inner_->Shutdown();
80 } 85 }
81 86
82 void SequencedWorkerPool::SetTestingObserver(TestingObserver* observer) { 87 void SequencedWorkerPool::SetTestingObserver(TestingObserver* observer) {
83 inner_->SetTestingObserver(observer); 88 inner_->SetTestingObserver(observer);
84 } 89 }
85 90
86 } // namespace base 91 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698