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] Minimum available priority for user tasks.
 
int max_priority() const
[Non-blocking] 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] Instantiate a real-time scheduler.
 
size_t num_tasks() const
[Non-blocking] 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...