From e24b55ef4f0909ac9ccfb8d9ecc55f6964cff345 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Sun, 13 Jun 2021 07:54:21 -0700 Subject: [PATCH] Clean up RuntimeScheduler's API Summary: Changelog: [internal] Mark methods as noexcept and explicitly delete unwanted constructors. Reviewed By: fkgozali Differential Revision: D29085827 fbshipit-source-id: 872009113e2bd519ab3ae11879a15d15f780198f --- .../runtimescheduler/RuntimeScheduler.cpp | 8 ++++---- .../runtimescheduler/RuntimeScheduler.h | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp index d5ddc44c3f4..32c84d6f984 100644 --- a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +++ b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp @@ -52,19 +52,19 @@ std::shared_ptr RuntimeScheduler::scheduleTask( return task; } -bool RuntimeScheduler::getShouldYield() const { +bool RuntimeScheduler::getShouldYield() const noexcept { return shouldYield_; } -void RuntimeScheduler::cancelTask(const std::shared_ptr &task) { +void RuntimeScheduler::cancelTask(const std::shared_ptr &task) noexcept { task->callback.reset(); } -SchedulerPriority RuntimeScheduler::getCurrentPriorityLevel() const { +SchedulerPriority RuntimeScheduler::getCurrentPriorityLevel() const noexcept { return currentPriority_; } -RuntimeSchedulerTimePoint RuntimeScheduler::now() const { +RuntimeSchedulerTimePoint RuntimeScheduler::now() const noexcept { return now_(); } diff --git a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h index 013079a62b3..79d964e4bc9 100644 --- a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +++ b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h @@ -22,6 +22,17 @@ class RuntimeScheduler final { RuntimeExecutor const &runtimeExecutor, std::function now = RuntimeSchedulerClock::now); + /* + * Not copyable. + */ + RuntimeScheduler(RuntimeScheduler const &) = delete; + RuntimeScheduler &operator=(RuntimeScheduler const &) = delete; + + /* + * Not movable. + */ + RuntimeScheduler(RuntimeScheduler &&) = delete; + RuntimeScheduler &operator=(RuntimeScheduler &&) = delete; void scheduleWork(std::function callback) const; @@ -39,13 +50,13 @@ class RuntimeScheduler final { SchedulerPriority priority, jsi::Function callback); - void cancelTask(std::shared_ptr const &task); + void cancelTask(std::shared_ptr const &task) noexcept; - bool getShouldYield() const; + bool getShouldYield() const noexcept; - SchedulerPriority getCurrentPriorityLevel() const; + SchedulerPriority getCurrentPriorityLevel() const noexcept; - RuntimeSchedulerTimePoint now() const; + RuntimeSchedulerTimePoint now() const noexcept; void setEnableYielding(bool enableYielding);