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