24#ifndef SEMISYNC_SOURCE_ACK_RECEIVER_DEFINED
25#define SEMISYNC_SOURCE_ACK_RECEIVER_DEFINED
Ack_receiver is responsible to control ack receive thread and maintain replica information used by ac...
Definition: semisync_source_ack_receiver.h:61
void setTraceLevel(unsigned long trace_level)
Definition: semisync_source_ack_receiver.h:106
void wait_for_replica_connection()
Definition: semisync_source_ack_receiver.cc:231
Ack_receiver()
Definition: semisync_source_ack_receiver.cc:63
my_thread_handle m_pid
Definition: semisync_source_ack_receiver.h:126
bool start()
Start ack receive thread.
Definition: semisync_source_ack_receiver.cc:86
void stop()
Stop ack receive thread.
Definition: semisync_source_ack_receiver.cc:113
bool init()
Definition: semisync_source_ack_receiver.h:108
uint8 m_status
Definition: semisync_source_ack_receiver.h:116
mysql_cond_t m_cond
Definition: semisync_source_ack_receiver.h:122
mysql_mutex_t m_mutex
Definition: semisync_source_ack_receiver.h:121
void remove_replica(THD *thd)
Notify ack receiver not to receive ack on the dump session.
Definition: semisync_source_ack_receiver.cc:176
Ack_receiver & operator=(const Ack_receiver &ack_receiver)
status
Definition: semisync_source_ack_receiver.h:115
@ ST_STOPPING
Definition: semisync_source_ack_receiver.h:115
@ ST_UP
Definition: semisync_source_ack_receiver.h:115
@ ST_DOWN
Definition: semisync_source_ack_receiver.h:115
void set_stage_info(const PSI_stage_info &stage)
Definition: semisync_source_ack_receiver.cc:224
Replica_vector m_replicas
Definition: semisync_source_ack_receiver.h:125
void run()
The core of ack receive thread.
Definition: semisync_source_ack_receiver.cc:245
bool add_replica(THD *thd)
Notify ack receiver to receive acks on the dump session.
Definition: semisync_source_ack_receiver.cc:137
~Ack_receiver()
Definition: semisync_source_ack_receiver.cc:75
bool m_replicas_changed
Definition: semisync_source_ack_receiver.h:124
Ack_receiver(const Ack_receiver &ack_receiver)
Base class for semi-sync source and replica classes.
Definition: semisync.h:83
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
unsigned long trace_level_
Definition: semisync.h:50
Some integer typedefs for easier portability.
uint8_t uint8
Definition: my_inttypes.h:63
Common #defines and includes for file and socket I/O.
Defines to make different thread packages compatible.
int my_socket
Definition: mysql.h:65
unsigned long rpl_semi_sync_source_trace_level
Definition: semisync_source.cc:47
bool rpl_semi_sync_source_enabled
Definition: semisync_source.cc:45
Replica_vector::iterator Replica_vector_it
Definition: semisync_source_ack_receiver.h:49
Ack_receiver * ack_receiver
Definition: semisync_source_plugin.cc:45
std::vector< Replica > Replica_vector
Definition: semisync_source_ack_receiver.h:48
my_socket fd
The real socket descriptor.
Definition: mysql_socket_bits.h:37
Stage instrument information.
Definition: psi_stage_bits.h:74
Definition: semisync_source_ack_receiver.h:37
EnumStatus m_status
Definition: semisync_source_ack_receiver.h:43
Vio * vio
Definition: semisync_source_ack_receiver.h:40
EnumStatus
Definition: semisync_source_ack_receiver.h:38
my_socket sock_fd() const
Definition: semisync_source_ack_receiver.h:45
uint server_id
Definition: semisync_source_ack_receiver.h:41
mysql_compress_context compress_ctx
Definition: semisync_source_ack_receiver.h:42
uint32_t thread_id
Definition: semisync_source_ack_receiver.h:39
Definition: violite.h:320
MYSQL_SOCKET mysql_socket
Definition: violite.h:321
Definition: my_thread_bits.h:58
Compression context information.
Definition: my_compress.h:74
An instrumented cond structure.
Definition: mysql_cond_bits.h:50
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50