Class CScheduler#

Class Documentation#

class CScheduler#

Scheduler class being used to schedule a deferred trigger execution when the minimal time between execution is undercut.

Public Functions

CScheduler() = default#

Default constructor.

~CScheduler()#

Destructor.

void Start()#

Start the scheduler. This will start the scheduler timer at a 1ms rate.

void Stop()#

Stop the scheduler. This will stop the scheduler timer and clear all pending schedule jobs.

void Schedule(CTrigger *pTrigger, EExecutionFlag eExecFlag, std::chrono::high_resolution_clock::time_point tpDue)#

Schedule a new trigger execution for the trigger object.

If a scheduled trigger execution already exists for the object, the trigger execution is not scheduled again. If the already scheduled trigger execution was marked as periodic and the new trigger is a spontenous trigger, the scheduled execution is updated to represent a spontaneous execution (periodic triggers are sometimes not fired when the data hasn’t changed).

Parameters:
  • pTrigger[in] Pointer to the trigger object.

  • eExecFlag[in] Set the trigger execution flag.

  • tpDue[in] The due time this trigger is to be executed.

void RemoveFromSchedule(const CTrigger *pTrigger)#

In case the trigger object will be destroyed, remove all pending schedule jobs from the scheduler.

Parameters:

pTrigger[in] Pointer to the trigger object.