Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2679)

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl.h

Issue 2405243003: TaskScheduler: Replace the SchedulerServiceThread with a base::Thread. (Closed)
Patch Set: self-review Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/task_scheduler/scheduler_worker_pool_impl.h
diff --git a/base/task_scheduler/scheduler_worker_pool_impl.h b/base/task_scheduler/scheduler_worker_pool_impl.h
index a621f797a53473b2096170a07689e456d5c3f2de..6ce3f1b4c569a1827755f9dfead17e9c61f60c7f 100644
--- a/base/task_scheduler/scheduler_worker_pool_impl.h
+++ b/base/task_scheduler/scheduler_worker_pool_impl.h
@@ -39,7 +39,6 @@ class TimeDelta;
namespace internal {
-class DelayedTaskManager;
class TaskTracker;
// A pool of workers that run Tasks. This class is thread-safe.
@@ -57,14 +56,14 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
// Creates a SchedulerWorkerPoolImpl following the |worker_pool_params|
// specification. |re_enqueue_sequence_callback| will be invoked after a
// worker of this worker pool tries to run a Task. |task_tracker| is used to
- // handle shutdown behavior of Tasks. |delayed_task_manager| handles Tasks
- // posted with a delay. Returns nullptr on failure to create a worker pool
- // with at least one thread.
+ // handle shutdown behavior of Tasks. |service_thread_task_runner| handles
+ // Tasks posted with a delay. Returns nullptr on failure to create a worker
+ // pool with at least one thread.
static std::unique_ptr<SchedulerWorkerPoolImpl> Create(
const SchedulerWorkerPoolParams& params,
const ReEnqueueSequenceCallback& re_enqueue_sequence_callback,
TaskTracker* task_tracker,
- DelayedTaskManager* delayed_task_manager);
+ scoped_refptr<TaskRunner> service_thread_task_runner);
// Waits until all workers are idle.
void WaitForAllWorkersIdleForTesting();
@@ -89,7 +88,8 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
const SequenceSortKey& sequence_sort_key) override;
bool PostTaskWithSequence(std::unique_ptr<Task> task,
scoped_refptr<Sequence> sequence,
- SchedulerWorker* worker) override;
+ SchedulerWorker* worker,
+ TimeDelta delay) override;
void PostTaskWithSequenceNow(std::unique_ptr<Task> task,
scoped_refptr<Sequence> sequence,
SchedulerWorker* worker) override;
@@ -102,12 +102,12 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
class SchedulerSingleThreadTaskRunner;
class SchedulerWorkerDelegateImpl;
- SchedulerWorkerPoolImpl(StringPiece name,
- SchedulerWorkerPoolParams::IORestriction
- io_restriction,
- const TimeDelta& suggested_reclaim_time,
- TaskTracker* task_tracker,
- DelayedTaskManager* delayed_task_manager);
+ SchedulerWorkerPoolImpl(
+ StringPiece name,
+ SchedulerWorkerPoolParams::IORestriction io_restriction,
+ const TimeDelta& suggested_reclaim_time,
+ TaskTracker* task_tracker,
+ scoped_refptr<TaskRunner> service_thread_task_runner);
bool Initialize(
ThreadPriority priority_hint,
@@ -194,7 +194,7 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
{};
TaskTracker* const task_tracker_;
- DelayedTaskManager* const delayed_task_manager_;
+ const scoped_refptr<TaskRunner> service_thread_task_runner_;
DISALLOW_COPY_AND_ASSIGN(SchedulerWorkerPoolImpl);
};

Powered by Google App Engine
This is Rietveld 408576698