Periodic Timer
|
Example code demonstrating use of chops::periodic_timer
.
More...
#include <iostream>
#include <cstdlib>
#include <chrono>
#include <thread>
#include "asio/executor_work_guard.hpp"
#include "asio/executor.hpp"
#include "timer/periodic_timer.hpp"
Functions | |
int | main () |
The chops::periodic_timer calls a user supplied callback function at a user defined interval. The callback funtion is repeatedly called while it returns true , but the timer terminates when the function returns false . | |
Example code demonstrating use of chops::periodic_timer
.
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Sample make file: g++ -std=c++17 -I ~/Projects/utility-rack/include/ \ -I ~/Projects/asio/asio/include/ \ -I ~/Projects/ timer_demo.cpp -lpthread
This also builds with CMake files with C++ 20 specified
int main | ( | ) |
The chops::periodic_timer
calls a user supplied callback function at a user defined interval. The callback funtion is repeatedly called while it returns true
, but the timer terminates when the function returns false
.
The timer executes inside an std::thread
. The thread and timer are linked with an asio::io_context
. As the example shows, multiple timers can be run inside one thread. An asio::executor_work_guard
controls ownership of executor work within the thread. Without either the thread or the exector_work_guard
, the timer will not execute.