24#ifndef MYSQL_CSA_RELAY_LOG_DELETER_H
25#define MYSQL_CSA_RELAY_LOG_DELETER_H
36class Relay_log_deleter;
Class responsible for removing relay log file, when the last handle to this deleter is released.
Definition: relay_log_deleter.h:57
std::atomic< std::size_t > m_successfull_subscribers
The number of successful subscribers (see above)
Definition: relay_log_deleter.h:89
void remove_handled_relay_log() const
Physically removes relay log file from disk and index file.
Definition: relay_log_deleter.cpp:46
void set_subscriber_success()
Notifies that subscriber succeeded.
Definition: relay_log_deleter.cpp:42
~Relay_log_deleter()
Destructor that removes the relay log file when the last reference is released.
Definition: relay_log_deleter.cpp:33
void add_subscriber()
Adds a subscriber to handled relay log file.
Definition: relay_log_deleter.cpp:40
std::atomic< std::size_t > m_subscribers
With below variables we track relay log file subscribers and the number of successful subscribers.
Definition: relay_log_deleter.h:87
Relay_log_deleter(const std::string &rl_file_name, Log_purge_controller_sptr purger)
Constructor that initializes metadata needed for relay log deletion.
Definition: relay_log_deleter.cpp:29
Log_purge_controller_sptr m_purger
Pointer to the relay log purger.
Definition: relay_log_deleter.h:91
std::string m_rl_file_name
Relay log name handled by this deleter.
Definition: relay_log_deleter.h:80
const std::string & get_file_name() const
Handled file name accessor.
Definition: relay_log_deleter.cpp:50
Definition: channel.cpp:28
std::shared_ptr< Relay_log_deleter > Relay_log_deleter_handle
Represents a shared reference to Relay_log_deleter.
Definition: relay_log_deleter.h:40
std::shared_ptr< Log_purge_controller > Log_purge_controller_sptr
Definition: log_purge_controller.h:35