Index: components/scheduler/child/virtual_time_task_runner_delegate.h |
diff --git a/components/scheduler/child/scheduler_task_runner_delegate_impl.h b/components/scheduler/child/virtual_time_task_runner_delegate.h |
similarity index 56% |
copy from components/scheduler/child/scheduler_task_runner_delegate_impl.h |
copy to components/scheduler/child/virtual_time_task_runner_delegate.h |
index 2f18b992c68728bbdd47c47a32e3bbf9c128098e..ef04631b2bbf72292fd64f1a1bd08fe7b870cab9 100644 |
--- a/components/scheduler/child/scheduler_task_runner_delegate_impl.h |
+++ b/components/scheduler/child/virtual_time_task_runner_delegate.h |
@@ -2,21 +2,26 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
-#define COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
+#ifndef COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_H_ |
+#define COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_H_ |
+#include <map> |
+ |
+#include "base/macros.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/time/tick_clock.h" |
#include "components/scheduler/child/scheduler_task_runner_delegate.h" |
#include "components/scheduler/scheduler_export.h" |
namespace scheduler { |
-class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl |
+class SCHEDULER_EXPORT VirtualTimeTaskRunnerDelegate |
Sami
2015/10/30 11:11:20
Similarly VirtualTimeTaskQueueManagerDelegate?
alex clarke (OOO till 29th)
2015/10/30 12:12:24
Done.
|
: public SchedulerTaskRunnerDelegate { |
public: |
// |message_loop| is not owned and must outlive the lifetime of this object. |
- static scoped_refptr<SchedulerTaskRunnerDelegateImpl> Create( |
- base::MessageLoop* message_loop); |
+ static scoped_refptr<VirtualTimeTaskRunnerDelegate> Create( |
+ base::MessageLoop* message_loop, |
+ base::TimeTicks initial_now); |
// SchedulerTaskRunnerDelegate implementation |
void SetDefaultTaskRunner( |
@@ -30,20 +35,30 @@ class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl |
base::TimeDelta delay) override; |
bool RunsTasksOnCurrentThread() const override; |
bool IsNested() const override; |
+ base::TimeTicks NowTicks() override; |
+ void OnNoMoreWork() override; |
protected: |
- ~SchedulerTaskRunnerDelegateImpl() override; |
+ ~VirtualTimeTaskRunnerDelegate() override; |
private: |
- explicit SchedulerTaskRunnerDelegateImpl(base::MessageLoop* message_loop); |
+ explicit VirtualTimeTaskRunnerDelegate(base::MessageLoop* message_loop, |
+ base::TimeTicks initial_no); |
+ |
+ void AdvancedTimeTo(base::TimeTicks now); |
+ |
+ typedef std::multimap<base::TimeTicks, base::Closure> DelayedWakeupMultimap; |
+ |
+ DelayedWakeupMultimap delayed_wakeup_multimap_; |
// Not owned. |
base::MessageLoop* message_loop_; |
scoped_refptr<SingleThreadTaskRunner> message_loop_task_runner_; |
+ base::TimeTicks now_; |
- DISALLOW_COPY_AND_ASSIGN(SchedulerTaskRunnerDelegateImpl); |
+ DISALLOW_COPY_AND_ASSIGN(VirtualTimeTaskRunnerDelegate); |
}; |
} // namespace scheduler |
-#endif // COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
+#endif // COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_H_ |