24#ifndef MYSQL_CSA_DEPENDENCY_ADAPTER_H
25#define MYSQL_CSA_DEPENDENCY_ADAPTER_H
34class Dependency_adapter;
63 virtual std::pair<Clock_delay, Task_id_resolved>
solve(
64 Task_id id, int64_t seq_num, int64_t commit_parent) = 0;
Class that resolves dependencies based on transaction sequence number and last committed.
Definition: dependency_adapter.h:41
std::optional< uint64_t > Clock_delay
Optional clock delay value.
Definition: dependency_adapter.h:48
virtual void set_worker_num(uint32_t)
Remember the worker pool size if needed. Default - unused.
Definition: dependency_adapter.h:54
virtual std::pair< Clock_delay, Task_id_resolved > solve(Task_id id, int64_t seq_num, int64_t commit_parent)=0
Solves dependencies - figures out after which task a task with the given id should run.
virtual ~Dependency_adapter()=default
Virtual destructor.
std::optional< Task_id > Task_id_resolved
Optional resolved task identifier.
Definition: dependency_adapter.h:46
Represents the identifier of a task ingested by the scheduler,.
Definition: task_id.h:41
Definition: channel.cpp:28
std::unique_ptr< Dependency_adapter > Dependency_adapter_ptr
Unique pointer type for Dependency_adapter.
Definition: dependency_adapter.h:36