| 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
|
| deleted file mode 100644
|
| index d773fe5da9413e478af6cf85f67792496f0b8f44..0000000000000000000000000000000000000000
|
| --- a/base/task_scheduler/delayed_task_manager.h
|
| +++ /dev/null
|
| @@ -1,88 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef BASE_TASK_SCHEDULER_DELAYED_TASK_MANAGER_H_
|
| -#define BASE_TASK_SCHEDULER_DELAYED_TASK_MANAGER_H_
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include <memory>
|
| -#include <queue>
|
| -#include <vector>
|
| -
|
| -#include "base/base_export.h"
|
| -#include "base/callback.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/task_scheduler/scheduler_lock.h"
|
| -#include "base/task_scheduler/sequence.h"
|
| -#include "base/task_scheduler/task.h"
|
| -#include "base/time/time.h"
|
| -
|
| -namespace base {
|
| -namespace internal {
|
| -
|
| -class SchedulerWorker;
|
| -class SchedulerWorkerPool;
|
| -
|
| -// A DelayedTaskManager holds delayed Tasks until they become ripe for
|
| -// execution. This class is thread-safe.
|
| -class BASE_EXPORT DelayedTaskManager {
|
| - public:
|
| - // |on_delayed_run_time_updated| is invoked when the delayed run time is
|
| - // updated as a result of adding a delayed task to the manager.
|
| - explicit DelayedTaskManager(const Closure& on_delayed_run_time_updated);
|
| - ~DelayedTaskManager();
|
| -
|
| - // Adds |task| to a queue of delayed tasks. The task will be posted to
|
| - // |worker_pool| with |sequence| and |worker| the first time that
|
| - // PostReadyTasks() is called while Now() is passed |task->delayed_run_time|.
|
| - // |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.
|
| - void AddDelayedTask(std::unique_ptr<Task> task,
|
| - scoped_refptr<Sequence> sequence,
|
| - SchedulerWorker* worker,
|
| - SchedulerWorkerPool* worker_pool);
|
| -
|
| - // Posts delayed tasks that are ripe for execution.
|
| - void PostReadyTasks();
|
| -
|
| - // Returns the next time at which a delayed task will become ripe for
|
| - // execution, or a null TimeTicks if there are no pending delayed tasks.
|
| - TimeTicks GetDelayedRunTime() const;
|
| -
|
| - // Returns the current time. Can be overridden for tests.
|
| - virtual TimeTicks Now() const;
|
| -
|
| - private:
|
| - struct DelayedTask;
|
| - struct DelayedTaskComparator {
|
| - bool operator()(const DelayedTask& left, const DelayedTask& right) const;
|
| - };
|
| -
|
| - const Closure on_delayed_run_time_updated_;
|
| -
|
| - // Synchronizes access to all members below.
|
| - mutable SchedulerLock lock_;
|
| -
|
| - // Priority queue of delayed tasks. The delayed task with the smallest
|
| - // |task->delayed_run_time| is in front of the priority queue.
|
| - using DelayedTaskQueue = std::priority_queue<DelayedTask,
|
| - std::vector<DelayedTask>,
|
| - DelayedTaskComparator>;
|
| - DelayedTaskQueue delayed_tasks_;
|
| -
|
| - // The index to assign to the next delayed task added to the manager.
|
| - uint64_t delayed_task_index_ = 0;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DelayedTaskManager);
|
| -};
|
| -
|
| -} // namespace internal
|
| -} // namespace base
|
| -
|
| -#endif // BASE_TASK_SCHEDULER_DELAYED_TASK_MANAGER_H_
|
|
|