123456789101112131415161718192021222324252627282930 |
- // Copyright 2018 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_UPDATEABLE_SEQUENCED_TASK_RUNNER_H_
- #define BASE_UPDATEABLE_SEQUENCED_TASK_RUNNER_H_
- #include "base/sequenced_task_runner.h"
- #include "base/task/task_traits.h"
- namespace base {
- // A SequencedTaskRunner whose posted tasks' priorities can be updated.
- class BASE_EXPORT UpdateableSequencedTaskRunner : public SequencedTaskRunner {
- public:
- UpdateableSequencedTaskRunner(const UpdateableSequencedTaskRunner&) = delete;
- UpdateableSequencedTaskRunner& operator=(
- const UpdateableSequencedTaskRunner&) = delete;
- // Updates the priority for tasks posted through this TaskRunner to
- // |priority|.
- virtual void UpdatePriority(TaskPriority priority) = 0;
- protected:
- UpdateableSequencedTaskRunner() = default;
- ~UpdateableSequencedTaskRunner() override = default;
- };
- } // namespace base
- #endif // BASE_UPDATEABLE_SEQUENCED_TASK_RUNNER_H_
|