From 7c5c2058e9aea996dc6c76a7e6d9ba4fc2a2bc77 Mon Sep 17 00:00:00 2001 From: Ben Longbons <b.r.longbons@gmail.com> Date: Mon, 30 Jun 2014 16:47:03 -0700 Subject: It's about time I did this --- src/net/timer.cpp | 8 ++++---- src/net/timer.t.hpp | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) (limited to 'src/net') diff --git a/src/net/timer.cpp b/src/net/timer.cpp index 8d03c17..6a22616 100644 --- a/src/net/timer.cpp +++ b/src/net/timer.cpp @@ -166,7 +166,7 @@ interval_t do_timer(tick_t tick) { /// Number of milliseconds until it calls this again // this says to wait 1 sec if all timers get popped - interval_t nextmin = std::chrono::seconds(1); + interval_t nextmin = 1_s; while (dumb_ptr<TimerData> td = top_timer_heap()) { @@ -186,7 +186,7 @@ interval_t do_timer(tick_t tick) td->owner->detach(); // If we are too far past the requested tick, call with // the current tick instead to fix reregistration problems - if (td->tick + std::chrono::seconds(1) < tick) + if (td->tick + 1_s < tick) td->func(td.operator->(), tick); else td->func(td.operator->(), td->tick); @@ -196,14 +196,14 @@ interval_t do_timer(tick_t tick) td.delete_(); continue; } - if (td->tick + std::chrono::seconds(1) < tick) + if (td->tick + 1_s < tick) td->tick = tick + td->interval; else td->tick += td->interval; push_timer_heap(td); } - return std::max(nextmin, std::chrono::milliseconds(10)); + return std::max(nextmin, 10_ms); } tick_t file_modified(ZString name) diff --git a/src/net/timer.t.hpp b/src/net/timer.t.hpp index e983e07..c27389e 100644 --- a/src/net/timer.t.hpp +++ b/src/net/timer.t.hpp @@ -34,6 +34,28 @@ namespace tmwa { +constexpr +std::chrono::nanoseconds operator ""_ns(unsigned long long ns) +{ return std::chrono::nanoseconds(ns); } +constexpr +std::chrono::microseconds operator ""_us(unsigned long long us) +{ return std::chrono::microseconds(us); } +constexpr +std::chrono::milliseconds operator ""_ms(unsigned long long ms) +{ return std::chrono::milliseconds(ms); } +constexpr +std::chrono::seconds operator ""_s(unsigned long long s) +{ return std::chrono::seconds(s); } +constexpr +std::chrono::minutes operator ""_min(unsigned long long min) +{ return std::chrono::minutes(min); } +constexpr +std::chrono::hours operator ""_h(unsigned long long h) +{ return std::chrono::hours(h); } +constexpr +std::chrono::duration<int, std::ratio<60*60*24>> operator ""_d(unsigned long long d) +{ return std::chrono::duration<int, std::ratio<60*60*24>>(d); } + /// An implementation of the C++ "clock" concept, exposing /// durations in milliseconds. class milli_clock -- cgit v1.2.3-70-g09d2