24#ifndef MYSQL_SCHEDULER_COMMIT_ORDER_CLOCK_H
25#define MYSQL_SCHEDULER_COMMIT_ORDER_CLOCK_H
Definition: commit_order_clock.h:38
Scheduler_dependency_type get_type() const override
This clock dependency type is start-to-start.
Definition: commit_order_clock.h:69
Time_point_t now() const override
Gets current time, i.e.
Definition: commit_order_clock.cpp:36
uint64_t Time_point_t
Definition: commit_order_clock.h:40
bool tick(Task_id task_id, Time_point_t time) override
Notify that task finished execution.
Definition: commit_order_clock.cpp:46
Commit_order_clock(Time_point_t start_point=0)
Constructor.
Definition: commit_order_clock.cpp:32
bool add_time(Task_id task_id, Time_point_t time) override
Subscribes a task to time processing window.
Definition: commit_order_clock.cpp:44
std::atomic< Time_point_t > m_clock
Current clock value (now / delay from the start point)
Definition: commit_order_clock.h:75
std::atomic< std::size_t > m_twicked_count
Used to track stalled clock unblocking (clock was twicked by this count)
Definition: commit_order_clock.h:77
Time_point_t start_time() const override
Gets clock start time.
Definition: commit_order_clock.cpp:40
Interface for clock implementations scheduler uses to schedule tasks.
Definition: scheduler_clock.h:52
Represents the identifier of a task ingested by the scheduler,.
Definition: task_id.h:41
Definition: base_dependency_tracker.h:41
Scheduler_dependency_type
Definition: scheduler_clock.h:38