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:84
 
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:736
 
Replication binlog relay IO observer parameter.
Definition: replication.h:600
 
Transaction observer parameter.
Definition: replication.h:134