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

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: fix-build-error 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
« no previous file with comments | « no previous file | base/task_scheduler/scheduler_single_thread_task_runner_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 c862f19df0b2a46d6abe9d7fc570a8f494ffb5bc..c6d9d692b22e6e2b521cfc3890ddd8b3ea135b10 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 {
@@ -44,9 +44,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();
@@ -55,11 +52,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)
@@ -70,22 +79,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_;
« no previous file with comments | « no previous file | base/task_scheduler/scheduler_single_thread_task_runner_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698