Etienne Pierre-doray | b38e0fd | 2019-03-18 19:35:38 | [diff] [blame] | 1 | // Copyright 2019 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 | |
Gabriel Charette | 52fa3ae | 2019-04-15 21:44:37 | [diff] [blame] | 5 | #ifndef BASE_TASK_THREAD_POOL_TASK_SOURCE_H_ |
| 6 | #define BASE_TASK_THREAD_POOL_TASK_SOURCE_H_ |
Etienne Pierre-doray | b38e0fd | 2019-03-18 19:35:38 | [diff] [blame] | 7 | |
| 8 | #include <stddef.h> |
| 9 | |
| 10 | #include "base/base_export.h" |
Patrick Monette | 8a0eaaa | 2021-10-01 20:53:00 | [diff] [blame] | 11 | #include "base/containers/intrusive_heap.h" |
David Sanders | fc1f17fa | 2022-04-15 00:15:49 | [diff] [blame] | 12 | #include "base/dcheck_is_on.h" |
Keishi Hattori | 0e45c02 | 2021-11-27 09:25:52 | [diff] [blame] | 13 | #include "base/memory/raw_ptr.h" |
Etienne Pierre-doray | b38e0fd | 2019-03-18 19:35:38 | [diff] [blame] | 14 | #include "base/memory/ref_counted.h" |
Etienne Pierre-doray | 31246215 | 2019-03-19 16:10:17 | [diff] [blame] | 15 | #include "base/sequence_token.h" |
Gabriel Charette | d3564838 | 2019-04-30 21:10:59 | [diff] [blame] | 16 | #include "base/task/common/checked_lock.h" |
Etienne Pierre-doray | b38e0fd | 2019-03-18 19:35:38 | [diff] [blame] | 17 | #include "base/task/task_traits.h" |
Gabriel Charette | 52fa3ae | 2019-04-15 21:44:37 | [diff] [blame] | 18 | #include "base/task/thread_pool/task.h" |
Etienne Pierre-doray | eed6683 | 2020-09-02 01:47:11 | [diff] [blame] | 19 | #include "base/task/thread_pool/task_source_sort_key.h" |
Etienne Pierre-doray | 31246215 | 2019-03-19 16:10:17 | [diff] [blame] | 20 | #include "base/threading/sequence_local_storage_map.h" |
Abdias Dagbekpo | f0a619d | 2022-08-10 02:06:20 | [diff] [blame] | 21 | #include "base/time/time.h" |
Etienne Pierre-doray | b38e0fd | 2019-03-18 19:35:38 | [diff] [blame] | 22 | |
| 23 | namespace base { |
| 24 | namespace internal { |
| 25 | |
Etienne Pierre-doray | f7f59c3 | 2019-05-24 16:50:53 | [diff] [blame] | 26 | class TaskTracker; |
| 27 | |
Etienne Pierre-doray | 45fd5d5 | 2019-03-28 15:19:55 | [diff] [blame] | 28 | enum class TaskSourceExecutionMode { |
| 29 | kParallel, |
| 30 | kSequenced, |
| 31 | kSingleThread, |
Etienne Pierre-doray | 36afadeb | 2019-07-12 21:19:41 | [diff] [blame] | 32 | kJob, |
| 33 | kMax = kJob, |
Etienne Pierre-doray |
|