Home | History | Annotate | Download | only in sequence_manager
      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