MySQL 8.0.37
Source Code Documentation
Mysql::Tools::Dump::Abstract_dump_task Class Reference

Base class for most individual dump process tasks, not suitable for lightweight dump tasks (e.g. More...

#include <abstract_dump_task.h>

Inheritance diagram for Mysql::Tools::Dump::Abstract_dump_task:
[legend]

Public Member Functions

 Abstract_dump_task (Abstract_data_object *related_object)
 
 ~Abstract_dump_task () override
 
I_data_objectget_related_db_object () const override
 
std::vector< const Abstract_dump_task * > get_dependencies () const
 
std::vector< Abstract_dump_task * > get_dependents () const
 
void add_dependency (Abstract_dump_task *dependency)
 
bool can_be_executed () const override
 Returns true if task can start processing, for example when all dependencies are met. More...
 
void set_completed () override
 Sets task completed flag. More...
 
void register_execution_availability_callback (std::function< void(const Abstract_dump_task *)> *availability_callback)
 Registers callback to be called once this task is able to be executed. More...
 
- Public Member Functions inherited from Mysql::Tools::Dump::Abstract_simple_dump_task
 Abstract_simple_dump_task ()
 
 ~Abstract_simple_dump_task () override
 
bool is_completed () const override
 Returns true if task was fully completed by all elements of chain. More...
 
void set_completed () override
 Sets task completed flag. More...
 
- Public Member Functions inherited from Mysql::Tools::Dump::I_dump_task
virtual ~I_dump_task ()
 

Private Member Functions

void check_execution_availability ()
 

Private Attributes

Abstract_data_objectm_related_object
 
std::vector< const Abstract_dump_task * > m_dependencies
 
std::vector< Abstract_dump_task * > m_dependents
 
std::vector< std::function< void(const Abstract_dump_task *)> * > m_availability_callbacks
 
std::mutex m_task_mutex
 

Detailed Description

Base class for most individual dump process tasks, not suitable for lightweight dump tasks (e.g.

Row).

Constructor & Destructor Documentation

◆ Abstract_dump_task()

Abstract_dump_task::Abstract_dump_task ( Abstract_data_object related_object)
explicit

◆ ~Abstract_dump_task()

Abstract_dump_task::~Abstract_dump_task ( )
overridedefault

Member Function Documentation

◆ add_dependency()

void Abstract_dump_task::add_dependency ( Abstract_dump_task dependency)

◆ can_be_executed()

bool Abstract_dump_task::can_be_executed ( ) const
overridevirtual

Returns true if task can start processing, for example when all dependencies are met.

Implements Mysql::Tools::Dump::I_dump_task.

◆ check_execution_availability()

void Abstract_dump_task::check_execution_availability ( )
private

◆ get_dependencies()

std::vector< const Abstract_dump_task * > Abstract_dump_task::get_dependencies ( ) const

◆ get_dependents()

std::vector< Abstract_dump_task * > Abstract_dump_task::get_dependents ( ) const

◆ get_related_db_object()

I_data_object * Abstract_dump_task::get_related_db_object ( ) const
overridevirtual

◆ register_execution_availability_callback()

void Abstract_dump_task::register_execution_availability_callback ( std::function< void(const Abstract_dump_task *)> *  availability_callback)

Registers callback to be called once this task is able to be executed.

◆ set_completed()

void Abstract_dump_task::set_completed ( )
overridevirtual

Sets task completed flag.

Need to be called once main chain element receives completion report.

Implements Mysql::Tools::Dump::I_dump_task.

Member Data Documentation

◆ m_availability_callbacks

std::vector<std::function<void(const Abstract_dump_task *)> *> Mysql::Tools::Dump::Abstract_dump_task::m_availability_callbacks
private

◆ m_dependencies

std::vector<const Abstract_dump_task *> Mysql::Tools::Dump::Abstract_dump_task::m_dependencies
private

◆ m_dependents

std::vector<Abstract_dump_task *> Mysql::Tools::Dump::Abstract_dump_task::m_dependents
private

◆ m_related_object

Abstract_data_object* Mysql::Tools::Dump::Abstract_dump_task::m_related_object
private

◆ m_task_mutex

std::mutex Mysql::Tools::Dump::Abstract_dump_task::m_task_mutex
private

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