From c98260aa04c4c570cbaecb50ce5216a0936aa79d Mon Sep 17 00:00:00 2001 From: Elias Bachaalany Date: Sat, 11 Jan 2025 07:06:26 -0800 Subject: [PATCH] fixed styles? --- src/common/utils/timer.hpp | 144 +++++++++++++++++++------------------ 1 file changed, 73 insertions(+), 71 deletions(-) diff --git a/src/common/utils/timer.hpp b/src/common/utils/timer.hpp index 35f6592c..b256ef6e 100644 --- a/src/common/utils/timer.hpp +++ b/src/common/utils/timer.hpp @@ -28,77 +28,79 @@ namespace utils typename Clock::time_point point_{Clock::now()}; }; - inline std::chrono::steady_clock::time_point convert_delay_interval_to_time_point(const LARGE_INTEGER delay_interval) - { - if (delay_interval.QuadPart <= 0) - { - const auto relative_time = -delay_interval.QuadPart; - const auto relative_ticks_in_ms = relative_time / 10; - const auto relative_fraction_ns = (relative_time % 10) * 100; - const auto relative_duration = - std::chrono::microseconds(relative_ticks_in_ms) + std::chrono::nanoseconds(relative_fraction_ns); - - return std::chrono::steady_clock::now() + relative_duration; - } - - const auto delay_seconds_since_1601 = delay_interval.QuadPart / HUNDRED_NANOSECONDS_IN_ONE_SECOND; - const auto delay_fraction_ns = (delay_interval.QuadPart % HUNDRED_NANOSECONDS_IN_ONE_SECOND) * 100; - - const auto delay_seconds_since_1970 = delay_seconds_since_1601 - EPOCH_DIFFERENCE_1601_TO_1970_SECONDS; - - const auto target_time = - std::chrono::system_clock::from_time_t(delay_seconds_since_1970) + std::chrono::nanoseconds(delay_fraction_ns); - - const auto now_system = std::chrono::system_clock::now(); - - const auto duration_until_target = std::chrono::duration_cast(target_time - now_system); - - return std::chrono::steady_clock::now() + duration_until_target; - } - - inline KSYSTEM_TIME convert_to_ksystem_time(const std::chrono::system_clock::time_point& tp) - { - const auto duration = tp.time_since_epoch(); - const auto ns_duration = std::chrono::duration_cast(duration); - - const auto total_ticks = ns_duration.count() / 100 + WINDOWS_EPOCH_DIFFERENCE; - - KSYSTEM_TIME time{}; - time.LowPart = static_cast(total_ticks); - time.High1Time = static_cast(total_ticks >> 32); - time.High2Time = time.High1Time; - - return time; - } - - inline void convert_to_ksystem_time(volatile KSYSTEM_TIME* dest, const std::chrono::system_clock::time_point& tp) - { - const auto time = convert_to_ksystem_time(tp); - memcpy(const_cast(dest), &time, sizeof(*dest)); - } - - inline std::chrono::system_clock::time_point convert_from_ksystem_time(const KSYSTEM_TIME& time) - { - auto totalTicks = (static_cast(time.High1Time) << 32) | time.LowPart; - totalTicks -= WINDOWS_EPOCH_DIFFERENCE; - - const auto duration = std::chrono::system_clock::duration(totalTicks * 100); - return std::chrono::system_clock::time_point(duration); - } - - inline std::chrono::system_clock::time_point convert_from_ksystem_time(const volatile KSYSTEM_TIME& time) - { - return convert_from_ksystem_time(*const_cast(&time)); - } - + inline std::chrono::steady_clock::time_point convert_delay_interval_to_time_point( + const LARGE_INTEGER delay_interval) + { + if (delay_interval.QuadPart <= 0) + { + const auto relative_time = -delay_interval.QuadPart; + const auto relative_ticks_in_ms = relative_time / 10; + const auto relative_fraction_ns = (relative_time % 10) * 100; + const auto relative_duration = + std::chrono::microseconds(relative_ticks_in_ms) + std::chrono::nanoseconds(relative_fraction_ns); + + return std::chrono::steady_clock::now() + relative_duration; + } + + const auto delay_seconds_since_1601 = delay_interval.QuadPart / HUNDRED_NANOSECONDS_IN_ONE_SECOND; + const auto delay_fraction_ns = (delay_interval.QuadPart % HUNDRED_NANOSECONDS_IN_ONE_SECOND) * 100; + + const auto delay_seconds_since_1970 = delay_seconds_since_1601 - EPOCH_DIFFERENCE_1601_TO_1970_SECONDS; + + const auto target_time = std::chrono::system_clock::from_time_t(delay_seconds_since_1970) + + std::chrono::nanoseconds(delay_fraction_ns); + + const auto now_system = std::chrono::system_clock::now(); + + const auto duration_until_target = + std::chrono::duration_cast(target_time - now_system); + + return std::chrono::steady_clock::now() + duration_until_target; + } + + inline KSYSTEM_TIME convert_to_ksystem_time(const std::chrono::system_clock::time_point& tp) + { + const auto duration = tp.time_since_epoch(); + const auto ns_duration = std::chrono::duration_cast(duration); + + const auto total_ticks = ns_duration.count() / 100 + WINDOWS_EPOCH_DIFFERENCE; + + KSYSTEM_TIME time{}; + time.LowPart = static_cast(total_ticks); + time.High1Time = static_cast(total_ticks >> 32); + time.High2Time = time.High1Time; + + return time; + } + + inline void convert_to_ksystem_time(volatile KSYSTEM_TIME* dest, const std::chrono::system_clock::time_point& tp) + { + const auto time = convert_to_ksystem_time(tp); + memcpy(const_cast(dest), &time, sizeof(*dest)); + } + + inline std::chrono::system_clock::time_point convert_from_ksystem_time(const KSYSTEM_TIME& time) + { + auto totalTicks = (static_cast(time.High1Time) << 32) | time.LowPart; + totalTicks -= WINDOWS_EPOCH_DIFFERENCE; + + const auto duration = std::chrono::system_clock::duration(totalTicks * 100); + return std::chrono::system_clock::time_point(duration); + } + + inline std::chrono::system_clock::time_point convert_from_ksystem_time(const volatile KSYSTEM_TIME& time) + { + return convert_from_ksystem_time(*const_cast(&time)); + } + #ifndef OS_WINDOWS - using __time64_t = int64_t; + using __time64_t = int64_t; #endif - - inline LARGE_INTEGER convert_unix_to_windows_time(const __time64_t unix_time) - { - LARGE_INTEGER windows_time{}; - windows_time.QuadPart = (unix_time + EPOCH_DIFFERENCE_1601_TO_1970_SECONDS) * HUNDRED_NANOSECONDS_IN_ONE_SECOND; - return windows_time; - } + + inline LARGE_INTEGER convert_unix_to_windows_time(const __time64_t unix_time) + { + LARGE_INTEGER windows_time{}; + windows_time.QuadPart = (unix_time + EPOCH_DIFFERENCE_1601_TO_1970_SECONDS) * HUNDRED_NANOSECONDS_IN_ONE_SECOND; + return windows_time; + } }