| 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 b8b5a2744a46fad8c77861bf76d4447960e1b45b..25e59e0c3dac04403fcd7c6c4df9d6c0d2682aa1 100644
|
| --- a/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
|
| +++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
|
| @@ -6,6 +6,7 @@
|
| #define BASE_TASK_SCHEDULER_SCHEDULER_SINGLE_THREAD_TASK_RUNNER_MANAGER_H_
|
|
|
| #include <memory>
|
| +#include <string>
|
| #include <vector>
|
|
|
| #include "base/atomicops.h"
|
| @@ -14,8 +15,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"
|
| #include "build/build_config.h"
|
|
|
| namespace base {
|
| @@ -43,9 +43,6 @@ class SchedulerWorkerDelegate;
|
| 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();
|
| @@ -54,11 +51,23 @@ class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final {
|
| // be started when SingleThreadTaskRunners are created in the future.
|
| void Start();
|
|
|
| + // Creates a SingleThreadTaskRunner which runs tasks with |traits| on a
|
| + // dedicated thread named "TaskSchedulerSingleThread" + |name| + 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);
|
|
|
| #if defined(OS_WIN)
|
| + // Creates a SingleThreadTaskRunner which runs tasks with |traits| on a
|
| + // dedicated COM STA thread named "TaskSchedulerSingleThreadCOMSTA" + |name| +
|
| + // index. |priority_hint| is the preferred thread priority; the actual thread
|
| + // priority depends on shutdown state and platform capabilities.
|
| scoped_refptr<SingleThreadTaskRunner> CreateCOMSTATaskRunnerWithTraits(
|
| + const std::string& name,
|
| + ThreadPriority priority_hint,
|
| const TaskTraits& traits);
|
| #endif // defined(OS_WIN)
|
|
|
| @@ -69,22 +78,22 @@ class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final {
|
|
|
| template <typename DelegateType>
|
| scoped_refptr<SingleThreadTaskRunner>
|
| - CreateSingleThreadTaskRunnerWithDelegate(const TaskTraits& traits);
|
| + CreateSingleThreadTaskRunnerWithDelegate(const std::string& name,
|
| + ThreadPriority priority_hint,
|
| + const TaskTraits& traits);
|
|
|
| template <typename DelegateType>
|
| std::unique_ptr<SchedulerWorkerDelegate> CreateSchedulerWorkerDelegate(
|
| - const SchedulerWorkerPoolParams& params,
|
| + const std::string& name,
|
| int id);
|
|
|
| template <typename DelegateType>
|
| 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_;
|
|
|
|
|