| Index: base/task_scheduler/delayed_task_manager.h
|
| diff --git a/base/task_scheduler/delayed_task_manager.h b/base/task_scheduler/delayed_task_manager.h
|
| index 3bfb355ef6dc0e31d2f7c1d9be4e45f94d7c41fe..8785f768b6048c7e6c8f24fb7230c80695516f10 100644
|
| --- a/base/task_scheduler/delayed_task_manager.h
|
| +++ b/base/task_scheduler/delayed_task_manager.h
|
| @@ -8,6 +8,7 @@
|
| #include <memory>
|
|
|
| #include "base/base_export.h"
|
| +#include "base/callback_forward.h"
|
| #include "base/macros.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/time/time.h"
|
| @@ -18,32 +19,25 @@ class TaskRunner;
|
|
|
| namespace internal {
|
|
|
| -class SchedulerWorker;
|
| -class SchedulerWorkerPool;
|
| -class Sequence;
|
| struct Task;
|
|
|
| -// A DelayedTaskManager forwards Tasks to a SchedulerWorkerPool when they become
|
| -// ripe for execution. This class is thread-safe.
|
| +// The DelayedTaskManager forwards tasks to various scheduler components when
|
| +// they become ripe for execution. This class is thread-safe.
|
| class BASE_EXPORT DelayedTaskManager {
|
| public:
|
| + // Posts |task| for execution immediately.
|
| + using PostTaskNowCallback = Callback<void(std::unique_ptr<Task> task)>;
|
| +
|
| // |service_thread_task_runner| posts tasks to the TaskScheduler service
|
| // thread.
|
| explicit DelayedTaskManager(
|
| scoped_refptr<TaskRunner> service_thread_task_runner);
|
| ~DelayedTaskManager();
|
|
|
| - // Posts |task|. The task will be forwarded to |worker_pool| with |sequence|
|
| - // and |worker| when it becomes ripe for execution. |worker| is a
|
| - // SchedulerWorker owned by |worker_pool| or nullptr.
|
| - //
|
| - // TODO(robliao): Find a concrete way to manage the memory of |worker| and
|
| - // |worker_pool|. These objects are never deleted in production, but it is
|
| - // better not to spread this assumption throughout the scheduler.
|
| + // Calls |post_task_now_callback| with |task| when |task| is ripe for
|
| + // execution.
|
| void AddDelayedTask(std::unique_ptr<Task> task,
|
| - scoped_refptr<Sequence> sequence,
|
| - SchedulerWorker* worker,
|
| - SchedulerWorkerPool* worker_pool);
|
| + const PostTaskNowCallback& post_task_now_callback);
|
|
|
| private:
|
| const scoped_refptr<TaskRunner> service_thread_task_runner_;
|
|
|