Chromium Code Reviews| Index: components/scheduler/child/virtual_time_tqm_delegate.h |
| diff --git a/components/scheduler/child/scheduler_task_runner_delegate_impl.h b/components/scheduler/child/virtual_time_tqm_delegate.h |
| similarity index 51% |
| rename from components/scheduler/child/scheduler_task_runner_delegate_impl.h |
| rename to components/scheduler/child/virtual_time_tqm_delegate.h |
| index 2f18b992c68728bbdd47c47a32e3bbf9c128098e..e78656bc97037da5d05ddd3d38c2709096e93b9a 100644 |
| --- a/components/scheduler/child/scheduler_task_runner_delegate_impl.h |
| +++ b/components/scheduler/child/virtual_time_tqm_delegate.h |
| @@ -2,23 +2,27 @@ |
| // 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_ |
|
Sami
2015/10/30 14:09:50
TQM_DELEGATE
alex clarke (OOO till 29th)
2015/10/30 16:02:00
Done.
|
| +#define COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_H_ |
| +#include <map> |
| + |
| +#include "base/macros.h" |
| #include "base/message_loop/message_loop.h" |
| -#include "components/scheduler/child/scheduler_task_runner_delegate.h" |
| +#include "base/time/tick_clock.h" |
| +#include "components/scheduler/child/scheduler_tqm_delegate.h" |
| #include "components/scheduler/scheduler_export.h" |
| namespace scheduler { |
| -class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl |
| - : public SchedulerTaskRunnerDelegate { |
| +class SCHEDULER_EXPORT VirtualTimeTqmDelegate : public SchedulerTqmDelegate { |
| 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<VirtualTimeTqmDelegate> Create( |
| + base::MessageLoop* message_loop, |
| + base::TimeTicks initial_now); |
| - // SchedulerTaskRunnerDelegate implementation |
| + // SchedulerTqmDelegate implementation |
| void SetDefaultTaskRunner( |
| scoped_refptr<base::SingleThreadTaskRunner> task_runner) override; |
| void RestoreDefaultTaskRunner() override; |
| @@ -30,20 +34,30 @@ class SCHEDULER_EXPORT SchedulerTaskRunnerDelegateImpl |
| base::TimeDelta delay) override; |
| bool RunsTasksOnCurrentThread() const override; |
| bool IsNested() const override; |
| + base::TimeTicks NowTicks() override; |
| + void OnNoMoreImmediateWork() override; |
| protected: |
| - ~SchedulerTaskRunnerDelegateImpl() override; |
| + ~VirtualTimeTqmDelegate() override; |
| private: |
| - explicit SchedulerTaskRunnerDelegateImpl(base::MessageLoop* message_loop); |
| + explicit VirtualTimeTqmDelegate(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(VirtualTimeTqmDelegate); |
| }; |
| } // namespace scheduler |
| -#endif // COMPONENTS_SCHEDULER_CHILD_SCHEDULER_TASK_RUNNER_DELEGATE_IMPL_H_ |
| +#endif // COMPONENTS_SCHEDULER_CHILD_VIRTUAL_TIME_TASK_RUNNER_DELEGATE_H_ |