• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015 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 BASE_TASK_SEQUENCE_MANAGER_TASK_QUEUE_SELECTOR_LOGIC_H_
6 #define BASE_TASK_SEQUENCE_MANAGER_TASK_QUEUE_SELECTOR_LOGIC_H_
7 
8 namespace base {
9 namespace sequence_manager {
10 namespace internal {
11 
12 // Used to describe the logic trigerred when a task queue is selected to
13 // service.
14 // This enum is used for histograms and should not be renumbered.
15 enum class TaskQueueSelectorLogic {
16 
17   // Selected due to priority rules.
18   kControlPriorityLogic = 0,
19   kHighestPriorityLogic = 1,
20   kHighPriorityLogic = 2,
21   kNormalPriorityLogic = 3,
22   kLowPriorityLogic = 4,
23   kBestEffortPriorityLogic = 5,
24 
25   // Selected due to starvation logic.
26   kHighPriorityStarvationLogic = 6,
27   kNormalPriorityStarvationLogic = 7,
28   kLowPriorityStarvationLogic = 8,
29 
30   kCount = 9,
31 };
32 
33 }  // namespace internal
34 }  // namespace sequence_manager
35 }  // namespace base
36 
37 #endif  // BASE_TASK_SEQUENCE_MANAGER_TASK_QUEUE_SELECTOR_LOGIC_H_
38