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