MySQL 26.7.0
Source Code Documentation
mysql::scheduler::Schedule_factory Class Reference

Schedule factory class - creates task schedule object pointer based on input parameters. More...

#include <schedule_factory.h>

Public Member Functions

 Schedule_factory (Scheduler_clock_ptr clock_ptr)
 Constructor. More...
 
 Schedule_factory (Scheduler_clock_ptr clock_ptr, Scheduler_clock_ptr phase_clock)
 
Task_schedule_ptr create (Task_id task_id, uint64_t delay) const
 create More...
 
Task_schedule_ptr create (Task_id task_id) const
 clock disabled More...
 
Task_schedule_ptr create (Task_id task_id, uint64_t delay, bool is_trx)
 
virtual ~Schedule_factory ()=default
 Destructor. More...
 

Private Attributes

Scheduler_clock_ptr m_clock
 
Scheduler_clock_ptr m_phase_clock
 
uint64_t m_phase_delay {0}
 

Detailed Description

Schedule factory class - creates task schedule object pointer based on input parameters.

Creates tasks starting from arbitrary point of time (steady_clock point of time)

Constructor & Destructor Documentation

◆ Schedule_factory() [1/2]

mysql::scheduler::Schedule_factory::Schedule_factory ( Scheduler_clock_ptr  clock_ptr)

Constructor.

Parameters
clock_ptrClock based on which schedules will be created

◆ Schedule_factory() [2/2]

mysql::scheduler::Schedule_factory::Schedule_factory ( Scheduler_clock_ptr  clock_ptr,
Scheduler_clock_ptr  phase_clock 
)
Parameters
clock_ptrClock based on which schedules will be created
phase_clockClock based on which schedule for the second task phase will be created (to support Transaction_order_schedule)

◆ ~Schedule_factory()

virtual mysql::scheduler::Schedule_factory::~Schedule_factory ( )
virtualdefault

Destructor.

Member Function Documentation

◆ create() [1/3]

Task_schedule_ptr mysql::scheduler::Schedule_factory::create ( Task_id  task_id) const

clock disabled

Creates one-shot task schedule

◆ create() [2/3]

Task_schedule_ptr mysql::scheduler::Schedule_factory::create ( Task_id  task_id,
uint64_t  delay 
) const

create

Creates one-shot task schedule

◆ create() [3/3]

Task_schedule_ptr mysql::scheduler::Schedule_factory::create ( Task_id  task_id,
uint64_t  delay,
bool  is_trx 
)

Creates transaction task schedule

Member Data Documentation

◆ m_clock

Scheduler_clock_ptr mysql::scheduler::Schedule_factory::m_clock
private

◆ m_phase_clock

Scheduler_clock_ptr mysql::scheduler::Schedule_factory::m_phase_clock
private

◆ m_phase_delay

uint64_t mysql::scheduler::Schedule_factory::m_phase_delay {0}
private

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