roo_scheduler
API Documentation for roo_scheduler
Loading...
Searching...
No Matches
roo_scheduler::PeriodicTask Class Reference

Convenience adapter for periodic callable execution. More...

#include <roo_scheduler.h>

Inheritance diagram for roo_scheduler::PeriodicTask:
[legend]
Collaboration diagram for roo_scheduler::PeriodicTask:
[legend]

Public Member Functions

 PeriodicTask (Scheduler &scheduler, roo_time::Duration period, std::function< void()> task, Priority priority=Priority::kNormal)
 
 PeriodicTask (Scheduler &scheduler, std::function< void()> task, roo_time::Duration period, Priority priority=Priority::kNormal)
 
bool is_active () const
 
Priority priority () const
 
bool start (roo_time::Uptime when=roo_time::Uptime::Now())
 
bool stop ()
 
void execute (ExecutionID id) override
 
void setPriority (Priority priority)
 
 ~PeriodicTask ()
 
- Public Member Functions inherited from roo_scheduler::Executable
virtual ~Executable ()=default
 

Detailed Description

Convenience adapter for periodic callable execution.

Uses fixed target schedule to keep average execution frequency stable.

Definition at line 505 of file roo_scheduler.h.

Constructor & Destructor Documentation

◆ PeriodicTask() [1/2]

roo_scheduler::PeriodicTask::PeriodicTask ( Scheduler scheduler,
roo_time::Duration  period,
std::function< void()>  task,
Priority  priority = Priority::kNormal 
)

Definition at line 323 of file roo_scheduler.cpp.

◆ PeriodicTask() [2/2]

roo_scheduler::PeriodicTask::PeriodicTask ( Scheduler scheduler,
std::function< void()>  task,
roo_time::Duration  period,
Priority  priority = Priority::kNormal 
)
inline
Deprecated:
Use PeriodicTask(scheduler, period, task, priority).

Definition at line 513 of file roo_scheduler.h.

◆ ~PeriodicTask()

roo_scheduler::PeriodicTask::~PeriodicTask ( )

Definition at line 355 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel().

Member Function Documentation

◆ execute()

void roo_scheduler::PeriodicTask::execute ( ExecutionID  id)
overridevirtual

Implements roo_scheduler::Executable.

Definition at line 347 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::scheduleOn().

◆ is_active()

bool roo_scheduler::PeriodicTask::is_active ( ) const
inline

Definition at line 518 of file roo_scheduler.h.

◆ priority()

Priority roo_scheduler::PeriodicTask::priority ( ) const
inline

Definition at line 520 of file roo_scheduler.h.

Referenced by setPriority().

◆ setPriority()

void roo_scheduler::PeriodicTask::setPriority ( Priority  priority)
inline

Definition at line 528 of file roo_scheduler.h.

References priority().

◆ start()

bool roo_scheduler::PeriodicTask::start ( roo_time::Uptime  when = roo_time::Uptime::Now())

◆ stop()

bool roo_scheduler::PeriodicTask::stop ( )

Definition at line 341 of file roo_scheduler.cpp.


The documentation for this class was generated from the following files: