Index: components/scheduler/child/scheduler_helper.h |
diff --git a/components/scheduler/child/scheduler_helper.h b/components/scheduler/child/scheduler_helper.h |
deleted file mode 100644 |
index c19f0236a55a99da4cfa43af38dee4828bef9ee7..0000000000000000000000000000000000000000 |
--- a/components/scheduler/child/scheduler_helper.h |
+++ /dev/null |
@@ -1,131 +0,0 @@ |
-// Copyright 2015 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 COMPONENTS_SCHEDULER_CHILD_SCHEDULER_HELPER_H_ |
-#define COMPONENTS_SCHEDULER_CHILD_SCHEDULER_HELPER_H_ |
- |
-#include <stddef.h> |
- |
-#include "base/macros.h" |
-#include "base/time/tick_clock.h" |
-#include "components/scheduler/base/task_queue_manager.h" |
-#include "components/scheduler/base/task_queue_selector.h" |
-#include "components/scheduler/scheduler_export.h" |
- |
-namespace base { |
-class TickClock; |
-} |
- |
-namespace scheduler { |
- |
-class SchedulerTqmDelegate; |
- |
-// Common scheduler functionality for default tasks. |
-class SCHEDULER_EXPORT SchedulerHelper |
- : public TaskQueueManager::Observer { |
- public: |
- // Category strings must have application lifetime (statics or |
- // literals). They may not include " chars. |
- SchedulerHelper( |
- scoped_refptr<SchedulerTqmDelegate> task_queue_manager_delegate, |
- const char* tracing_category, |
- const char* disabled_by_default_tracing_category, |
- const char* disabled_by_default_verbose_tracing_category); |
- ~SchedulerHelper() override; |
- |
- // TaskQueueManager::Observer implementation: |
- void OnUnregisterTaskQueue(const scoped_refptr<TaskQueue>& queue) override; |
- void OnTriedToExecuteBlockedTask(const TaskQueue& queue, |
- const base::PendingTask& task) override; |
- |
- // Returns the default task runner. |
- scoped_refptr<TaskQueue> DefaultTaskRunner(); |
- |
- // Returns the control task runner. Tasks posted to this runner are executed |
- // with the highest priority. Care must be taken to avoid starvation of other |
- // task queues. |
- scoped_refptr<TaskQueue> ControlTaskRunner(); |
- |
- // Returns the control task after wakeup runner. Tasks posted to this runner |
- // are executed with the highest priority but do not cause the scheduler to |
- // wake up. Care must be taken to avoid starvation of other task queues. |
- scoped_refptr<TaskQueue> ControlAfterWakeUpTaskRunner(); |
- |
- // Adds or removes a task observer from the scheduler. The observer will be |
- // notified before and after every executed task. These functions can only be |
- // called on the thread this class was created on. |
- void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer); |
- void RemoveTaskObserver(base::MessageLoop::TaskObserver* task_observer); |
- |
- void SetTaskTimeTracker(TaskTimeTracker* task_time_tracker) { |
- if (task_queue_manager_) |
- task_queue_manager_->SetTaskTimeTracker(task_time_tracker); |
- } |
- |
- // Shuts down the scheduler by dropping any remaining pending work in the work |
- // queues. After this call any work posted to the task runners will be |
- // silently dropped. |
- void Shutdown(); |
- |
- // Returns true if Shutdown() has been called. Otherwise returns false. |
- bool IsShutdown() const { return !task_queue_manager_.get(); } |
- |
- void CheckOnValidThread() const { |
- DCHECK(thread_checker_.CalledOnValidThread()); |
- } |
- |
- // Creates a new TaskQueue with the given |spec|. |
- scoped_refptr<TaskQueue> NewTaskQueue(const TaskQueue::Spec& spec); |
- |
- class SCHEDULER_EXPORT Observer { |
- public: |
- virtual ~Observer() {} |
- |
- // Called when |queue| is unregistered. |
- virtual void OnUnregisterTaskQueue( |
- const scoped_refptr<TaskQueue>& queue) = 0; |
- |
- // Called when the scheduler tried to execute a task from a disabled |
- // queue. See TaskQueue::Spec::SetShouldReportWhenExecutionBlocked. |
- virtual void OnTriedToExecuteBlockedTask(const TaskQueue& queue, |
- const base::PendingTask& task) = 0; |
- }; |
- |
- // Called once to set the Observer. This function is called on the main |
- // thread. If |observer| is null, then no callbacks will occur. |
- // Note |observer| is expected to outlive the SchedulerHelper. |
- void SetObserver(Observer* observer); |
- |
- // Accessor methods. |
- RealTimeDomain* real_time_domain() const; |
- void RegisterTimeDomain(TimeDomain* time_domain); |
- void UnregisterTimeDomain(TimeDomain* time_domain); |
- const scoped_refptr<SchedulerTqmDelegate>& scheduler_tqm_delegate() const; |
- bool GetAndClearSystemIsQuiescentBit(); |
- TaskQueue* CurrentlyExecutingTaskQueue() const; |
- |
- // Test helpers. |
- void SetWorkBatchSizeForTesting(size_t work_batch_size); |
- TaskQueueManager* GetTaskQueueManagerForTesting(); |
- |
- private: |
- friend class SchedulerHelperTest; |
- |
- base::ThreadChecker thread_checker_; |
- scoped_refptr<SchedulerTqmDelegate> task_queue_manager_delegate_; |
- std::unique_ptr<TaskQueueManager> task_queue_manager_; |
- scoped_refptr<TaskQueue> control_task_runner_; |
- scoped_refptr<TaskQueue> control_after_wakeup_task_runner_; |
- scoped_refptr<TaskQueue> default_task_runner_; |
- |
- Observer* observer_; // NOT OWNED |
- const char* tracing_category_; |
- const char* disabled_by_default_tracing_category_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SchedulerHelper); |
-}; |
- |
-} // namespace scheduler |
- |
-#endif // COMPONENTS_SCHEDULER_CHILD_SCHEDULER_HELPER_H_ |