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

Unified Diff: base/task_scheduler/scheduler_single_thread_task_runner_manager.h

Issue 2809163003: Always use TaskScheduler::InitParams to initialize a TaskScheduler. (Closed)
Patch Set: CR-gab-robliao-17-18 Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698