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

Dependency tracker stub: empty tracker, does not check dependencies. More...

#include <dependency_tracker_stub.h>

Inheritance diagram for mysql::scheduler::Dependency_tracker_stub:
[legend]

Public Member Functions

bool add_dependency (const Task_id_type &, const Task_id_type &) override
 add_dependency More...
 
bool activate_task (const Task_id &) override
 Register task in the system to prevent adding dependencies on non-existing tasks and adding active dependencies on tasks that are already finished. More...
 
bool check_ready (const Task_id &) override
 check_ready More...
 
std::vector< Task_idmark_dependency_met (const Task_id &, bool) override
 Task is finished, mark all dependencies of this task as met. More...
 
virtual ~Dependency_tracker_stub () override=default
 
- Public Member Functions inherited from mysql::scheduler::Base_dependency_tracker
virtual ~Base_dependency_tracker ()=default
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from mysql::scheduler::Base_dependency_tracker
using Task_id_type = Task_id
 
using Mutex_type = concurrency::Mutex
 

Detailed Description

Dependency tracker stub: empty tracker, does not check dependencies.

Constructor & Destructor Documentation

◆ ~Dependency_tracker_stub()

virtual mysql::scheduler::Dependency_tracker_stub::~Dependency_tracker_stub ( )
overridevirtualdefault

Member Function Documentation

◆ activate_task()

bool mysql::scheduler::Dependency_tracker_stub::activate_task ( const Task_id task)
inlineoverridevirtual

Register task in the system to prevent adding dependencies on non-existing tasks and adding active dependencies on tasks that are already finished.

Implements mysql::scheduler::Base_dependency_tracker.

◆ add_dependency()

bool mysql::scheduler::Dependency_tracker_stub::add_dependency ( const Task_id_type predecessor,
const Task_id_type successor 
)
inlineoverridevirtual

add_dependency

Function adds dependency if valid

Parameters
predecessorPredecessor task ID
successorSuccessor task ID
Return values
trueDependency added successfully
falseFailed to add dependency

Implements mysql::scheduler::Base_dependency_tracker.

◆ check_ready()

bool mysql::scheduler::Dependency_tracker_stub::check_ready ( const Task_id task)
inlineoverridevirtual

check_ready

Function checks whether a task is ready for execution

Parameters
taskTask ID
Returns
true - dependencies of task are met, false - not met, second is

Implements mysql::scheduler::Base_dependency_tracker.

◆ mark_dependency_met()

std::vector< Task_id > mysql::scheduler::Dependency_tracker_stub::mark_dependency_met ( const Task_id task,
bool  is_finished 
)
inlineoverridevirtual

Task is finished, mark all dependencies of this task as met.

Parameters
taskIdentifier of a task that finished its execution
is_finishedWhether the task has finished execution
Returns
Vector of task IDs whose dependencies changed

Implements mysql::scheduler::Base_dependency_tracker.


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