summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-06-30 16:47:03 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-06-30 19:23:28 -0700
commit7c5c2058e9aea996dc6c76a7e6d9ba4fc2a2bc77 (patch)
tree961575586f475d4b47f167a2b40f865f864a0206 /src/net
parent71204f7324a2e01ce50007f16c46386354712ec9 (diff)
downloadtmwa-7c5c2058e9aea996dc6c76a7e6d9ba4fc2a2bc77.tar.gz
tmwa-7c5c2058e9aea996dc6c76a7e6d9ba4fc2a2bc77.tar.bz2
tmwa-7c5c2058e9aea996dc6c76a7e6d9ba4fc2a2bc77.tar.xz
tmwa-7c5c2058e9aea996dc6c76a7e6d9ba4fc2a2bc77.zip
It's about time I did this
Diffstat (limited to 'src/net')
-rw-r--r--src/net/timer.cpp8
-rw-r--r--src/net/timer.t.hpp22
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