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

Convenience adapter for repetitive callable execution. More...

#include <roo_scheduler.h>

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

Public Member Functions

 RepetitiveTask (Scheduler &scheduler, roo_time::Duration delay, std::function< void()> task, Priority priority=Priority::kNormal)
 
 RepetitiveTask (Scheduler &scheduler, std::function< void()> task, roo_time::Duration delay, Priority priority=Priority::kNormal)
 
bool is_active () const
 
Priority priority () const
 
bool start ()
 Starts task using configured periodic delay.
 
bool startInstantly ()
 Starts task immediately.
 
bool start (roo_time::Duration initial_delay)
 Starts task with custom initial delay.
 
bool stop ()
 
void execute (ExecutionID id) override
 
void setPriority (Priority priority)
 
 ~RepetitiveTask ()
 
- Public Member Functions inherited from roo_scheduler::Executable
virtual ~Executable ()=default
 

Detailed Description

Convenience adapter for repetitive callable execution.

Subsequent executions are scheduled with constant delay between runs.

Definition at line 452 of file roo_scheduler.h.

Constructor & Destructor Documentation

◆ RepetitiveTask() [1/2]

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

Definition at line 288 of file roo_scheduler.cpp.

◆ RepetitiveTask() [2/2]

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

Definition at line 460 of file roo_scheduler.h.

◆ ~RepetitiveTask()

roo_scheduler::RepetitiveTask::~RepetitiveTask ( )

Definition at line 319 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel().

Member Function Documentation

◆ execute()

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

◆ is_active()

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

Definition at line 466 of file roo_scheduler.h.

◆ priority()

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

Definition at line 468 of file roo_scheduler.h.

Referenced by setPriority().

◆ setPriority()

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

Definition at line 489 of file roo_scheduler.h.

References priority().

◆ start() [1/2]

bool roo_scheduler::RepetitiveTask::start ( )
inline

Starts task using configured periodic delay.

Returns
false if already active.

Definition at line 473 of file roo_scheduler.h.

References start().

Referenced by start(), and startInstantly().

◆ start() [2/2]

bool roo_scheduler::RepetitiveTask::start ( roo_time::Duration  initial_delay)

Starts task with custom initial delay.

Returns
false if already active.

Definition at line 298 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel(), and roo_scheduler::Scheduler::scheduleAfter().

◆ startInstantly()

bool roo_scheduler::RepetitiveTask::startInstantly ( )
inline

Starts task immediately.

Returns
false if already active.

Definition at line 478 of file roo_scheduler.h.

References start().

◆ stop()

bool roo_scheduler::RepetitiveTask::stop ( )

Definition at line 306 of file roo_scheduler.cpp.


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