From 877fb5b93ada9b25b4d2f5ca5f69370fa345f1ac Mon Sep 17 00:00:00 2001 From: Vaxry Date: Wed, 16 Apr 2025 01:37:48 +0100 Subject: time: move to stl's clocks and move timer --- src/managers/eventLoop/EventLoopTimer.cpp | 34 +++++++++++++++---------------- src/managers/eventLoop/EventLoopTimer.hpp | 13 ++++++------ 2 files changed, 24 insertions(+), 23 deletions(-) (limited to 'src/managers/eventLoop') diff --git a/src/managers/eventLoop/EventLoopTimer.cpp b/src/managers/eventLoop/EventLoopTimer.cpp index b8943b7c..d4633b0d 100644 --- a/src/managers/eventLoop/EventLoopTimer.cpp +++ b/src/managers/eventLoop/EventLoopTimer.cpp @@ -1,55 +1,55 @@ #include "EventLoopTimer.hpp" #include #include "EventLoopManager.hpp" +#include "../../helpers/time/Time.hpp" -CEventLoopTimer::CEventLoopTimer(std::optional timeout, std::function self, void* data)> cb_, void* data_) : - cb(cb_), data(data_) { +CEventLoopTimer::CEventLoopTimer(std::optional timeout, std::function self, void* data)> cb_, void* data_) : m_cb(cb_), m_data(data_) { if (!timeout.has_value()) - expires.reset(); + m_expires.reset(); else - expires = std::chrono::steady_clock::now() + *timeout; + m_expires = Time::steadyNow() + *timeout; } -void CEventLoopTimer::updateTimeout(std::optional timeout) { +void CEventLoopTimer::updateTimeout(std::optional timeout) { if (!timeout.has_value()) { - expires.reset(); + m_expires.reset(); g_pEventLoopManager->nudgeTimers(); return; } - expires = std::chrono::steady_clock::now() + *timeout; + m_expires = Time::steadyNow() + *timeout; g_pEventLoopManager->nudgeTimers(); } bool CEventLoopTimer::passed() { - if (!expires.has_value()) + if (!m_expires.has_value()) return false; - return std::chrono::steady_clock::now() > *expires; + return Time::steadyNow() > *m_expires; } void CEventLoopTimer::cancel() { - wasCancelled = true; - expires.reset(); + m_wasCancelled = true; + m_expires.reset(); } bool CEventLoopTimer::cancelled() { - return wasCancelled; + return m_wasCancelled; } void CEventLoopTimer::call(SP self) { - expires.reset(); - cb(self, data); + m_expires.reset(); + m_cb(self, m_data); } float CEventLoopTimer::leftUs() { - if (!expires.has_value()) + if (!m_expires.has_value()) return std::numeric_limits::max(); - return std::chrono::duration_cast(*expires - std::chrono::steady_clock::now()).count(); + return std::chrono::duration_cast(*m_expires - Time::steadyNow()).count(); } bool CEventLoopTimer::armed() { - return expires.has_value(); + return m_expires.has_value(); } diff --git a/src/managers/eventLoop/EventLoopTimer.hpp b/src/managers/eventLoop/EventLoopTimer.hpp index e5a8c5e3..d093cd6e 100644 --- a/src/managers/eventLoop/EventLoopTimer.hpp +++ b/src/managers/eventLoop/EventLoopTimer.hpp @@ -5,14 +5,15 @@ #include #include "../../helpers/memory/Memory.hpp" +#include "../../helpers/time/Time.hpp" class CEventLoopTimer { public: - CEventLoopTimer(std::optional timeout, std::function self, void* data)> cb_, void* data_); + CEventLoopTimer(std::optional timeout, std::function self, void* data)> cb_, void* data_); // if not specified, disarms. // if specified, arms. - void updateTimeout(std::optional timeout); + void updateTimeout(std::optional timeout); void cancel(); bool passed(); @@ -25,8 +26,8 @@ class CEventLoopTimer { void call(SP self); private: - std::function self, void* data)> cb; - void* data = nullptr; - std::optional expires; - bool wasCancelled = false; + std::function self, void* data)> m_cb; + void* m_data = nullptr; + std::optional m_expires; + bool m_wasCancelled = false; }; -- cgit v1.2.3