ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
async_timer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <atomic>
4 #include <chrono>
5 #include <functional>
6 #include <thread>
7 
11 class AsyncTimer {
12 public:
18  AsyncTimer(std::function<void()> function,
19  std::chrono::duration<double> timer_duration);
23  virtual ~AsyncTimer();
24 
28  void start();
29 
30 private:
34  void functionTimer();
35 
36  std::thread timer_thread_;
37  std::function<void()> function_;
38  std::chrono::duration<double>
39  timer_duration_;
40  std::atomic_bool running_;
41 };
AsyncTimer(std::function< void()> function, std::chrono::duration< double > timer_duration)
Constructor.
Definition: async_timer.cpp:5
void start()
Starts running the timer thread.
Definition: async_timer.cpp:16
Calls given function on a timer in its own thread.
Definition: async_timer.h:11
virtual ~AsyncTimer()
Destructor cleans up running thread.
Definition: async_timer.cpp:9