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

Unified Diff: base/task_scheduler/task_scheduler.cc

Issue 2764603002: Add TaskScheduler::InitParams and accept it in TaskSchedulerImpl constructor. (Closed)
Patch Set: self-review Created 3 years, 9 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/task_scheduler.cc
diff --git a/base/task_scheduler/task_scheduler.cc b/base/task_scheduler/task_scheduler.cc
index 592d6f4a15ecb97f79f890cbd66ee9001c82f596..3a64c09767fbb14a29006a66862064aaa25ba698 100644
--- a/base/task_scheduler/task_scheduler.cc
+++ b/base/task_scheduler/task_scheduler.cc
@@ -23,6 +23,18 @@ TaskScheduler* g_task_scheduler = nullptr;
} // namespace
+TaskScheduler::InitParams::InitParams(
+ const SchedulerWorkerPoolParams& background_worker_pool_params_in,
+ const SchedulerWorkerPoolParams& background_blocking_worker_pool_params_in,
+ const SchedulerWorkerPoolParams& foreground_worker_pool_params_in,
+ const SchedulerWorkerPoolParams& foreground_blocking_worker_pool_params_in)
+ : background_worker_pool_params(background_worker_pool_params_in),
+ background_blocking_worker_pool_params(
+ background_blocking_worker_pool_params_in),
+ foreground_worker_pool_params(foreground_worker_pool_params_in),
+ foreground_blocking_worker_pool_params(
+ foreground_blocking_worker_pool_params_in) {}
+
#if !defined(OS_NACL)
// static
void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) {
@@ -31,7 +43,7 @@ void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) {
worker_pool_params_vector.emplace_back(
name, ThreadPriority::NORMAL,
SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY,
- std::max(kMinNumThreads, base::SysInfo::NumberOfProcessors()),
+ std::max(kMinNumThreads, SysInfo::NumberOfProcessors()),
TimeDelta::FromSeconds(30));
CreateAndSetDefaultTaskScheduler(
worker_pool_params_vector,
@@ -48,6 +60,12 @@ void TaskScheduler::CreateAndSetDefaultTaskScheduler(
worker_pool_params_vector, worker_pool_index_for_traits_callback));
}
+void TaskScheduler::CreateAndSetDefaultTaskScheduler(
+ const std::string& name,
+ const InitParams& init_params) {
+ SetInstance(internal::TaskSchedulerImpl::Create(name, init_params));
+}
+
// static
void TaskScheduler::SetInstance(std::unique_ptr<TaskScheduler> task_scheduler) {
delete g_task_scheduler;

Powered by Google App Engine
This is Rietveld 408576698