6 #ifndef FLEXIV_RDK_SCHEDULER_HPP_
7 #define FLEXIV_RDK_SCHEDULER_HPP_
64 void AddTask(std::function<
void(
void)>&& callback,
const std::string& task_name,
int interval,
65 int priority,
int cpu_affinity = -1);
109 std::unique_ptr<Impl> pimpl_;
Real-time scheduler that can simultaneously run multiple periodic tasks. Parameters for each task are...
int min_priority() const
[Non-blocking] Get minimum available priority for user tasks.
int max_priority() const
[Non-blocking] Get maximum available priority for user tasks.
void AddTask(std::function< void(void)> &&callback, const std::string &task_name, int interval, int priority, int cpu_affinity=-1)
[Non-blocking] Add a new periodic task to the scheduler's task pool. Each task in the pool is assigne...
void Stop()
[Blocking] Stop all added tasks. The periodic execution will stop and all task threads will be closed...
Scheduler()
[Blocking] Create an instance and initialize the real-time scheduler.
size_t num_tasks() const
[Non-blocking] Get number of tasks added to the scheduler.
void Start()
[Blocking] Start all added tasks. A dedicated thread will be created for each added task and the peri...