summaryrefslogtreecommitdiff
path: root/src/helpers/time/Time.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/time/Time.cpp')
-rw-r--r--src/helpers/time/Time.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/helpers/time/Time.cpp b/src/helpers/time/Time.cpp
index 7ef24e22..f454b784 100644
--- a/src/helpers/time/Time.cpp
+++ b/src/helpers/time/Time.cpp
@@ -103,7 +103,7 @@ Time::steady_tp Time::fromTimespec(const timespec* ts) {
}
struct timespec Time::toTimespec(const steady_tp& tp) {
- struct timespec mono, real;
+ timespec mono{}, real{};
clock_gettime(CLOCK_MONOTONIC, &mono);
clock_gettime(CLOCK_REALTIME, &real);
Time::steady_tp now = Time::steadyNow();
@@ -136,3 +136,10 @@ struct timespec Time::toTimespec(const steady_tp& tp) {
auto sum = timeadd(tpTime, diffFinal);
return timespec{.tv_sec = sum.first, .tv_nsec = sum.second};
}
+
+Time::steady_dur Time::till(const timespec& ts) {
+ timespec mono{};
+ clock_gettime(CLOCK_MONOTONIC, &mono);
+ const auto delay = (ts.tv_sec - mono.tv_sec) * 1000000000 + (ts.tv_nsec - mono.tv_nsec);
+ return std::chrono::nanoseconds(delay);
+}