OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/task_scheduler/task_scheduler_impl.h" | 5 #include "base/task_scheduler/task_scheduler_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 const tracked_objects::Location& from_here, | 45 const tracked_objects::Location& from_here, |
46 const TaskTraits& traits, | 46 const TaskTraits& traits, |
47 const Closure& task) { | 47 const Closure& task) { |
48 // Post |task| as part of a one-off single-task Sequence. | 48 // Post |task| as part of a one-off single-task Sequence. |
49 GetWorkerPoolForTraits(traits)->PostTaskWithSequence( | 49 GetWorkerPoolForTraits(traits)->PostTaskWithSequence( |
50 MakeUnique<Task>(from_here, task, traits, TimeDelta()), | 50 MakeUnique<Task>(from_here, task, traits, TimeDelta()), |
51 make_scoped_refptr(new Sequence), nullptr); | 51 make_scoped_refptr(new Sequence), nullptr); |
52 } | 52 } |
53 | 53 |
54 scoped_refptr<TaskRunner> TaskSchedulerImpl::CreateTaskRunnerWithTraits( | 54 scoped_refptr<TaskRunner> TaskSchedulerImpl::CreateTaskRunnerWithTraits( |
55 const TaskTraits& traits, | 55 const TaskTraits& traits) { |
56 ExecutionMode execution_mode) { | 56 return GetWorkerPoolForTraits(traits)->CreateTaskRunnerWithTraits(traits); |
57 return GetWorkerPoolForTraits(traits)->CreateTaskRunnerWithTraits( | 57 } |
58 traits, execution_mode); | 58 |
| 59 scoped_refptr<SequencedTaskRunner> |
| 60 TaskSchedulerImpl::CreateSequencedTaskRunnerWithTraits( |
| 61 const TaskTraits& traits) { |
| 62 return GetWorkerPoolForTraits(traits)->CreateSequencedTaskRunnerWithTraits( |
| 63 traits); |
| 64 } |
| 65 |
| 66 scoped_refptr<SingleThreadTaskRunner> |
| 67 TaskSchedulerImpl::CreateSingleThreadTaskRunnerWithTraits( |
| 68 const TaskTraits& traits) { |
| 69 return GetWorkerPoolForTraits(traits)->CreateSingleThreadTaskRunnerWithTraits( |
| 70 traits); |
59 } | 71 } |
60 | 72 |
61 std::vector<const HistogramBase*> TaskSchedulerImpl::GetHistograms() const { | 73 std::vector<const HistogramBase*> TaskSchedulerImpl::GetHistograms() const { |
62 std::vector<const HistogramBase*> histograms; | 74 std::vector<const HistogramBase*> histograms; |
63 for (const auto& worker_pool : worker_pools_) | 75 for (const auto& worker_pool : worker_pools_) |
64 worker_pool->GetHistograms(&histograms); | 76 worker_pool->GetHistograms(&histograms); |
65 | 77 |
66 return histograms; | 78 return histograms; |
67 } | 79 } |
68 | 80 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 // in |sequence|. | 177 // in |sequence|. |
166 const TaskTraits traits = | 178 const TaskTraits traits = |
167 sequence->PeekTaskTraits().WithPriority(sort_key.priority()); | 179 sequence->PeekTaskTraits().WithPriority(sort_key.priority()); |
168 | 180 |
169 GetWorkerPoolForTraits(traits)->ReEnqueueSequence(std::move(sequence), | 181 GetWorkerPoolForTraits(traits)->ReEnqueueSequence(std::move(sequence), |
170 sort_key); | 182 sort_key); |
171 } | 183 } |
172 | 184 |
173 } // namespace internal | 185 } // namespace internal |
174 } // namespace base | 186 } // namespace base |
OLD | NEW |