Index: base/task_scheduler/scheduler_single_thread_task_runner_manager.h |
diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager.h b/base/task_scheduler/scheduler_single_thread_task_runner_manager.h |
index 6fbad4bb1d0e7ef5a64a843a65c4118c48899b63..cf03165b64ac91bb19b65dfc34dc72f4af242614 100644 |
--- a/base/task_scheduler/scheduler_single_thread_task_runner_manager.h |
+++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager.h |
@@ -5,6 +5,7 @@ |
#ifndef BASE_TASK_SCHEDULER_SCHEDULER_SINGLE_THREAD_TASK_RUNNER_MANAGER_H_ |
#define BASE_TASK_SCHEDULER_SCHEDULER_SINGLE_THREAD_TASK_RUNNER_MANAGER_H_ |
+#include <string> |
#include <vector> |
#include "base/atomicops.h" |
@@ -13,8 +14,7 @@ |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#include "base/task_scheduler/scheduler_lock.h" |
-#include "base/task_scheduler/scheduler_worker_pool_params.h" |
-#include "base/task_scheduler/task_scheduler.h" |
+#include "base/threading/platform_thread.h" |
namespace base { |
@@ -30,14 +30,17 @@ class TaskTracker; |
class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final { |
public: |
SchedulerSingleThreadTaskRunnerManager( |
- const std::vector<SchedulerWorkerPoolParams>& worker_pool_params_vector, |
- const TaskScheduler::WorkerPoolIndexForTraitsCallback& |
- worker_pool_index_for_traits_callback, |
TaskTracker* task_tracker, |
DelayedTaskManager* delayed_task_manager); |
~SchedulerSingleThreadTaskRunnerManager(); |
+ // Create a SingleThreadTaskRunner which runs tasks with |traits| on a |
+ // dedicated thread named "TaskScheduler" + |name| + "SingleThread" + index. |
+ // |priority_hint| is the preferred thread priority; the actual thread |
+ // priority depends on shutdown state and platform capabilities. |
scoped_refptr<SingleThreadTaskRunner> CreateSingleThreadTaskRunnerWithTraits( |
+ const std::string& name, |
+ ThreadPriority priority_hint, |
const TaskTraits& traits); |
void JoinForTesting(); |
@@ -46,13 +49,11 @@ class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final { |
class SchedulerSingleThreadTaskRunner; |
SchedulerWorker* CreateAndRegisterSchedulerWorker( |
- const SchedulerWorkerPoolParams& params); |
+ const std::string& name, |
+ ThreadPriority priority_hint); |
void UnregisterSchedulerWorker(SchedulerWorker* worker); |
- const std::vector<SchedulerWorkerPoolParams> worker_pool_params_vector_; |
- const TaskScheduler::WorkerPoolIndexForTraitsCallback |
- worker_pool_index_for_traits_callback_; |
TaskTracker* const task_tracker_; |
DelayedTaskManager* const delayed_task_manager_; |