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

Side by Side Diff: components/task_scheduler_util/initialization/browser_util.h

Issue 2553953002: Split initialization_util into a Hermetic Library and a Variations Library (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_TASK_SCHEDULER_UTIL_INITIALIZATION_BROWSER_UTIL_H_
6 #define COMPONENTS_TASK_SCHEDULER_UTIL_INITIALIZATION_BROWSER_UTIL_H_
7
8 #include <vector>
9
10 #include "base/task_scheduler/scheduler_worker_pool_params.h"
11 #include "base/time/time.h"
12
13 namespace base {
14 class TaskTraits;
15 } // namespace base
gab 2016/12/06 19:16:07 // namespace comments not required on short fwd-de
robliao 2016/12/07 00:03:54 Done.
16
17 namespace task_scheduler_util {
18 namespace initialization {
19
20 enum WorkerPoolType : size_t {
21 BACKGROUND = 0,
22 BACKGROUND_FILE_IO,
23 FOREGROUND,
24 FOREGROUND_FILE_IO,
25 WORKER_POOL_COUNT // Always last.
26 };
27
28 struct SingleWorkerPoolConfiguration {
fdoray 2016/12/06 17:22:24 SingleWorkerPoolVariationParams?
robliao 2016/12/07 00:03:54 I intentionally avoided the word "variation" to ma
29 base::SchedulerWorkerPoolParams::StandbyThreadPolicy standby_thread_policy;
30 int threads = 0;
31 base::TimeDelta detach_period;
32 };
33
34 struct BrowserWorkerPoolsConfiguration {
fdoray 2016/12/06 17:22:24 BrowserWorkerPoolsVariationParams?
robliao 2016/12/07 00:03:54 See above.
35 SingleWorkerPoolConfiguration background;
36 SingleWorkerPoolConfiguration background_file_io;
37 SingleWorkerPoolConfiguration foreground;
38 SingleWorkerPoolConfiguration foreground_file_io;
39 };
40
41 // Converts a BrowserWorkerPoolsConfiguration to a vector of
42 // base::SchedulerWorkerPoolParams for consumption by task scheduler
43 // initialization.
44 std::vector<base::SchedulerWorkerPoolParams>
45 BrowserWorkerPoolConfigurationToSchedulerWorkerPoolParams(
46 const BrowserWorkerPoolsConfiguration& config);
47
48 // Maps |traits| to a browser worker pool vector index returned by
49 // BrowserWorkerPoolConfigurationToSchedulerWorkerPoolParams() or
50 // GetDefaultBrowserSchedulerWorkerPoolParams().
gab 2016/12/06 19:16:07 This sentence makes it sound like the "index" is r
robliao 2016/12/07 00:03:54 Done.
51 size_t BrowserWorkerPoolIndexForTraits(const base::TaskTraits& traits);
52
53 // Returns the default browser scheduler worker pool params.
54 std::vector<base::SchedulerWorkerPoolParams>
55 GetDefaultBrowserSchedulerWorkerPoolParams();
56
57 } // namespace initialization
58 } // namespace task_scheduler_util
59
60 #endif // COMPONENTS_TASK_SCHEDULER_UTIL_INITIALIZATION_BROWSER_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698