Index: blimp/engine/renderer/frame_scheduler.h |
diff --git a/blimp/engine/renderer/frame_scheduler.h b/blimp/engine/renderer/frame_scheduler.h |
deleted file mode 100644 |
index 919047a731caac2a5c3b1ac11c238dff5cbcf437..0000000000000000000000000000000000000000 |
--- a/blimp/engine/renderer/frame_scheduler.h |
+++ /dev/null |
@@ -1,98 +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 BLIMP_ENGINE_RENDERER_FRAME_SCHEDULER_H_ |
-#define BLIMP_ENGINE_RENDERER_FRAME_SCHEDULER_H_ |
- |
-#include "base/macros.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/single_thread_task_runner.h" |
-#include "base/timer/timer.h" |
- |
-namespace blimp { |
-namespace engine { |
- |
-class FrameSchedulerClient { |
- public: |
- virtual ~FrameSchedulerClient() {} |
- |
- // Used to notify the SchedulerClient to start the requested frame update. |
- // Calling this method marks the completion of the frame update request made |
- // to the scheduler. Any calls to schedule a frame after this will result in |
- // a new frame update. |
- // The frame update must be run synchronously, and if it results in any |
- // content changes sent to the blimp client, the scheduler must be informed |
- // using DidSendFrameUpdateToClient. |
- virtual void StartFrameUpdate() = 0; |
-}; |
- |
-// Responsible for scheduling frame updates sent to the client. |
-// The Scheduler uses the state of frames sent to the client and the |
-// acknowledgements for these frames from the client to make decisions regarding |
-// when a frame should be produced on the engine. |
-// The caller provides a FrameSchedulerClient to be notified when a frame update |
-// should be produced. The FrameSchedulerClient must outlive this class. |
-class FrameScheduler { |
- public: |
- FrameScheduler(scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
- FrameSchedulerClient* client); |
- virtual ~FrameScheduler(); |
- |
- // Called when the |client| wants to start a frame update on the engine. |
- // |client->StartFrameUpdate() will be called back asynchronously when the |
- // scheduler is ready for the next frame to be started. |
- void ScheduleFrameUpdate(); |
- |
- // Called when a frame update is sent to the client. This must be called only |
- // when the |client| is producing a frame update in |
- // FrameSchedulerClient::StartFrameUpdate and must be followed with a |
- // DidReceiveFrameUpdateAck when the frame sent is ack-ed by the client. |
- void DidSendFrameUpdateToClient(); |
- |
- // Called when an Ack is received for a frame sent to the client. |
- void DidReceiveFrameUpdateAck(); |
- |
- bool needs_frame_update() const { return needs_frame_update_; } |
- |
- void set_frame_delay_for_testing(base::TimeDelta frame_delay) { |
- frame_delay_ = frame_delay; |
- } |
- |
- private: |
- void ScheduleFrameUpdateIfNecessary(); |
- |
- // Returns true if a frame update can be started. The Scheduler can not |
- // produce new frames either if there is no request for frames pending or we |
- // are waiting for an ack for a frame previously sent to the client. |
- bool ShouldProduceFrameUpdates() const; |
- |
- void StartFrameUpdate(); |
- |
- // Set to true if the |client_| has requested us to schedule frames. |
- bool needs_frame_update_ = false; |
- |
- // Set to true if a frame update was sent to the client and the ack is |
- // pending. |
- bool frame_ack_pending_ = false; |
- |
- bool in_frame_update_ = false; |
- |
- // The time at which the next main frame update can be run. |
- base::TimeTicks next_frame_time_; |
- |
- // The delay to use between consecutive frames. |
- base::TimeDelta frame_delay_; |
- |
- base::OneShotTimer frame_tick_timer_; |
- |
- FrameSchedulerClient* client_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FrameScheduler); |
-}; |
- |
-} // namespace engine |
-} // namespace blimp |
- |
-#endif // BLIMP_ENGINE_RENDERER_FRAME_SCHEDULER_H_ |