File: task_traits_android.h

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (46 lines) | stat: -rw-r--r-- 2,084 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BASE_ANDROID_TASK_SCHEDULER_TASK_TRAITS_ANDROID_H_
#define BASE_ANDROID_TASK_SCHEDULER_TASK_TRAITS_ANDROID_H_

// Enum for the TaskTraits types exposed to Java.
//
// A Java counterpart will be generated for this enum.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.base.task
enum TaskTraits {
  THREAD_POOL_TRAITS_START = 0,
  // This task will only be scheduled when machine resources are available. Once
  // running, it may be descheduled if higher priority work arrives (in this
  // process or another) and its running on a non-critical thread. This is the
  // lowest possible priority.
  BEST_EFFORT = THREAD_POOL_TRAITS_START,
  // This is a lowest-priority task which may block, for example non-urgent
  // logging or deletion of temporary files as clean-up.
  BEST_EFFORT_MAY_BLOCK = THREAD_POOL_TRAITS_START + 1,
  // This task affects UI or responsiveness of future user interactions. It is
  // not an immediate response to a user interaction. Most tasks are likely to
  // have this priority.
  // Examples:
  // - Updating the UI to reflect progress on a long task.
  // - Loading data that might be shown in the UI after a future user
  //   interaction.
  USER_VISIBLE = THREAD_POOL_TRAITS_START + 2,
  // USER_VISIBLE + may block.
  USER_VISIBLE_MAY_BLOCK = THREAD_POOL_TRAITS_START + 3,
  // This task affects UI immediately after a user interaction.
  // Example: Generating data shown in the UI immediately after a click.
  USER_BLOCKING = THREAD_POOL_TRAITS_START + 4,
  // USER_BLOCKING + may block.
  USER_BLOCKING_MAY_BLOCK = THREAD_POOL_TRAITS_START + 5,
  THREAD_POOL_TRAITS_END = USER_BLOCKING_MAY_BLOCK,
  UI_TRAITS_START = THREAD_POOL_TRAITS_END + 1,
  UI_BEST_EFFORT = UI_TRAITS_START,
  UI_USER_VISIBLE = UI_TRAITS_START + 1,
  UI_USER_BLOCKING = UI_TRAITS_START + 2,
  UI_DEFAULT = UI_USER_VISIBLE,
  UI_TRAITS_END = UI_USER_BLOCKING
};

#endif  // BASE_ANDROID_TASK_SCHEDULER_TASK_TRAITS_ANDROID_H_