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

Unified Diff: base/task_scheduler/task_scheduler.cc

Issue 2764603002: Add TaskScheduler::InitParams and accept it in TaskSchedulerImpl constructor. (Closed)
Patch Set: no offsetof 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
« no previous file with comments | « base/task_scheduler/task_scheduler.h ('k') | base/task_scheduler/task_scheduler_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..bff2de65a422e5be152e8d4b1b29f9233fd127da 100644
--- a/base/task_scheduler/task_scheduler.cc
+++ b/base/task_scheduler/task_scheduler.cc
@@ -23,6 +23,20 @@ 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) {}
+
+TaskScheduler::InitParams::~InitParams() = default;
+
#if !defined(OS_NACL)
// static
void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) {
@@ -31,7 +45,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 +62,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;
« no previous file with comments | « base/task_scheduler/task_scheduler.h ('k') | base/task_scheduler/task_scheduler_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698