24#ifndef CHANNEL_OBSERVATION_MANAGER_INCLUDE
25#define CHANNEL_OBSERVATION_MANAGER_INCLUDE
48 unsigned long len,
const char **event_buf,
49 unsigned long *event_len) = 0;
51 const char *event_buf,
unsigned long event_len,
105 std::list<Channel_observation_manager *>
A class to hold different channel observation manager.
Definition: channel_observation_manager.h:65
std::list< Channel_observation_manager * > channel_observation_manager
list of channel observation manager
Definition: channel_observation_manager.h:125
Channel_observation_manager * get_channel_observation_manager(uint position=0)
Get particular channel observation manager.
Definition: channel_observation_manager.cc:79
std::list< Channel_observation_manager * > & get_channel_observation_manager_list()
Get all the channel observation manager.
Definition: channel_observation_manager.cc:73
void add_channel_observation_manager(Channel_observation_manager *manager)
A method to add channel observation manager to the channel_observation_manager list.
Definition: channel_observation_manager.cc:62
Binlog_relay_IO_observer server_channel_state_observers
Server relay log observer struct.
Definition: channel_observation_manager.h:119
MYSQL_PLUGIN group_replication_plugin_info
server plugin handle
Definition: channel_observation_manager.h:122
void remove_channel_observation_manager(Channel_observation_manager *manager)
A method to remove a channel observation manager from channel_observation_manager list.
Definition: channel_observation_manager.cc:67
Channel_observation_manager_list(MYSQL_PLUGIN plugin_info, uint num_managers)
Constructor.
Definition: channel_observation_manager.cc:32
~Channel_observation_manager_list()
Destructor.
Definition: channel_observation_manager.cc:46
A class to register observers for channel state events.
Definition: channel_observation_manager.h:131
void write_lock_channel_list()
Locks the observer list for writes.
Definition: channel_observation_manager.cc:142
void unlock_channel_list()
Unlocks the observer list.
Definition: channel_observation_manager.cc:146
void register_channel_observer(Channel_state_observer *observer)
A method to register observers to the events that come from the server.
Definition: channel_observation_manager.cc:122
void unregister_channel_observer(Channel_state_observer *observer)
A method to remove a channel state observer.
Definition: channel_observation_manager.cc:130
Checkable_rwlock * channel_list_lock
Definition: channel_observation_manager.h:180
std::list< Channel_state_observer * > & get_channel_state_observers()
Get all registered observers.
Definition: channel_observation_manager.cc:114
~Channel_observation_manager()
Destructor.
Definition: channel_observation_manager.cc:98
Channel_observation_manager()
Initialize the class.
Definition: channel_observation_manager.cc:90
void read_lock_channel_list()
Locks the observer list for reads.
Definition: channel_observation_manager.cc:138
std::list< Channel_state_observer * > channel_observers
list of channel state observer
Definition: channel_observation_manager.h:177
A interface class to code channel state response methods.
Definition: channel_observation_manager.h:38
virtual int applier_stop(Binlog_relay_IO_param *param, bool aborted)=0
virtual int applier_start(Binlog_relay_IO_param *param)=0
virtual int after_reset_slave(Binlog_relay_IO_param *param)=0
virtual int thread_start(Binlog_relay_IO_param *param)=0
virtual int after_queue_event(Binlog_relay_IO_param *param, const char *event_buf, unsigned long event_len, uint32 flags)=0
virtual int applier_log_event(Binlog_relay_IO_param *param, Trans_param *trans_param, int &out)=0
virtual ~Channel_state_observer()=0
virtual int before_request_transmit(Binlog_relay_IO_param *param, uint32 flags)=0
virtual int after_read_event(Binlog_relay_IO_param *param, const char *packet, unsigned long len, const char **event_buf, unsigned long *event_len)=0
virtual int thread_stop(Binlog_relay_IO_param *param)=0
This has the functionality of mysql_rwlock_t, with two differences:
Definition: rpl_gtid.h:325
static int flags[50]
Definition: hp_test1.cc:40
void * MYSQL_PLUGIN
Definition: plugin.h:82
Some integer typedefs for easier portability.
uint32_t uint32
Definition: my_inttypes.h:67
static MYSQL_PLUGIN plugin_info
Definition: rewriter_plugin.cc:89
Observes and extends the service of slave IO thread.
Definition: replication.h:738
Replication binlog relay IO observer parameter.
Definition: replication.h:602
Transaction observer parameter.
Definition: replication.h:136