MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::database::MysqlTaskMonitor Class Reference

#include <mysql_task_monitor.h>

Classes

struct  Task
 

Public Types

using CachedSession = collector::MysqlCacheManager::CachedObject
 

Public Member Functions

 ~MysqlTaskMonitor ()
 
void call_async (CachedSession session, std::list< std::string > preamble, std::string script, std::list< std::string > postamble, std::function< std::list< std::string >(const std::exception &)> on_error, const std::string &task_id)
 
void start ()
 
void stop ()
 
void reset ()
 

Private Types

enum  State { k_initializing , k_running , k_check_tasks , k_stopped }
 

Private Member Functions

void run ()
 
bool update_task (Task &task)
 

Private Attributes

std::thread thread_
 
WaitableVariable< Statestate_ {k_initializing}
 
std::mutex tasks_mutex_
 
std::list< Tasktasks_
 

Member Typedef Documentation

◆ CachedSession

Member Enumeration Documentation

◆ State

Enumerator
k_initializing 
k_running 
k_check_tasks 
k_stopped 

Constructor & Destructor Documentation

◆ ~MysqlTaskMonitor()

mrs::database::MysqlTaskMonitor::~MysqlTaskMonitor ( )

Member Function Documentation

◆ call_async()

void mrs::database::MysqlTaskMonitor::call_async ( CachedSession  session,
std::list< std::string >  preamble,
std::string  script,
std::list< std::string >  postamble,
std::function< std::list< std::string >(const std::exception &)>  on_error,
const std::string &  task_id 
)

◆ reset()

void mrs::database::MysqlTaskMonitor::reset ( )

◆ run()

void mrs::database::MysqlTaskMonitor::run ( )
private

◆ start()

void mrs::database::MysqlTaskMonitor::start ( )

◆ stop()

void mrs::database::MysqlTaskMonitor::stop ( )

◆ update_task()

bool mrs::database::MysqlTaskMonitor::update_task ( Task task)
private

Member Data Documentation

◆ state_

WaitableVariable<State> mrs::database::MysqlTaskMonitor::state_ {k_initializing}
private

◆ tasks_

std::list<Task> mrs::database::MysqlTaskMonitor::tasks_
private

◆ tasks_mutex_

std::mutex mrs::database::MysqlTaskMonitor::tasks_mutex_
private

◆ thread_

std::thread mrs::database::MysqlTaskMonitor::thread_
private

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