blob: 565005af068310f19fa8d0f5eaeeb78d2a58362a [file] [log] [blame]
Avi Drissmane4622aa2022-09-08 20:36:061// Copyright 2019 The Chromium Authors
Etienne Pierre-dorayb38e0fd2019-03-18 19:35:382// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Gabriel Charette52fa3ae2019-04-15 21:44:375#ifndef BASE_TASK_THREAD_POOL_TASK_SOURCE_H_
6#define BASE_TASK_THREAD_POOL_TASK_SOURCE_H_
Etienne Pierre-dorayb38e0fd2019-03-18 19:35:387
8#include <stddef.h>
9
10#include "base/base_export.h"
Patrick Monette8a0eaaa2021-10-01 20:53:0011#include "base/containers/intrusive_heap.h"
David Sandersfc1f17fa2022-04-15 00:15:4912#include "base/dcheck_is_on.h"
Keishi Hattori0e45c022021-11-27 09:25:5213#include "base/memory/raw_ptr.h"
Etienne Pierre-dorayb38e0fd2019-03-18 19:35:3814#include "base/memory/ref_counted.h"
Bartek Nowierskiccca8de2024-04-11 13:53:2715#include "base/memory/stack_allocated.h"
Etienne Pierre-doray312462152019-03-19 16:10:1716#include "base/sequence_token.h"
Gabriel Charetted35648382019-04-30 21:10:5917#include "base/task/common/checked_lock.h"
Etienne Pierre-dorayb38e0fd2019-03-18 19:35:3818#include "base/task/task_traits.h"
Gabriel Charette52fa3ae2019-04-15 21:44:3719#include "base/task/thread_pool/task.h"
Etienne Pierre-dorayeed66832020-09-02 01:47:1120#include "base/task/thread_pool/task_source_sort_key.h"
Etienne Pierre-doray312462152019-03-19 16:10:1721#include "base/threading/sequence_local_storage_map.h"
Abdias Dagbekpof0a619d2022-08-10 02:06:2022#include "base/time/time.h"
Etienne Pierre-dorayb38e0fd2019-03-18 19:35:3823
24namespace base {
25namespace internal {
26
Etienne Pierre-dorayf7f59c32019-05-24 16:50:5327class TaskTracker;
28
Etienne Pierre-doray45fd5d52019-03-28 15:19:55