aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-12 19:48:21 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:10:41 +0100
commit7617950b0ab386949b43c6f221b02826e18548d6 (patch)
treebd695ba29cbf87550288734690556af9df6615f7 /src/utils
parent6c40a7192cd6ddf89e625b53dd489b7a91a423e1 (diff)
Implemente way to send diagnostic request when subscribed.
When subscribed, the signal is added to recurring request list of diagnostic manager and an event is added to the systemd event loop with timer set using frequency parameter from the requested signal. Change-Id: I4d604c498047d7744c090b7f03fce0f2b427fd01 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/timer.cpp7
-rw-r--r--src/utils/timer.hpp2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/utils/timer.cpp b/src/utils/timer.cpp
index 966178be..1461ac4b 100644
--- a/src/utils/timer.cpp
+++ b/src/utils/timer.cpp
@@ -71,3 +71,10 @@ bool frequency_clock_t::elapsed(bool stagger)
return frequency_ == 0 || elapsed_time >= period;
}
+
+/// @brief Force the clock to tick, regardless of it its time has actually
+/// elapsed.
+void frequency_clock_t::tick()
+{
+ last_tick_ = get_time_function()();
+} \ No newline at end of file
diff --git a/src/utils/timer.hpp b/src/utils/timer.hpp
index 8037b85d..ce6336eb 100644
--- a/src/utils/timer.hpp
+++ b/src/utils/timer.hpp
@@ -56,4 +56,6 @@ public:
bool started();
time_function_t get_time_function();
bool elapsed(bool stagger);
+
+ void tick();
}; \ No newline at end of file