summaryrefslogtreecommitdiffhomepage
path: root/compat/timer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'compat/timer.hpp')
-rw-r--r--compat/timer.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/compat/timer.hpp b/compat/timer.hpp
index 6af7430d..ac255a9d 100644
--- a/compat/timer.hpp
+++ b/compat/timer.hpp
@@ -20,6 +20,7 @@
#include <ctime>
#include "time.hpp"
+#include "util.hpp"
class OTR_COMPAT_EXPORT Timer final
{
@@ -43,7 +44,20 @@ public:
t elapsed() const
{
using namespace time_units;
- return static_cast<const t&>(ns(elapsed_nsecs()));
+ return time_cast<t>(ns(elapsed_nsecs()));
+ }
+
+ template<typename t>
+ bool is_elapsed(const t& time_value)
+ {
+ using namespace time_units;
+
+ if (unlikely(elapsed<ns>() >= time_value))
+ {
+ start();
+ return true;
+ }
+ return false;
}
long long elapsed_nsecs() const;