diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/timer.cpp | 8 | ||||
-rw-r--r-- | src/net/timer.t.hpp | 22 |
2 files changed, 26 insertions, 4 deletions
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 |