Update monitor APIs
No need to use void* as the types of the arguments in the monitor functions as the types are known and will always be the same.
This commit is contained in:
@ -68,11 +68,15 @@
|
|||||||
* unregisterServer is called to remove a server from the set of servers that need to be
|
* unregisterServer is called to remove a server from the set of servers that need to be
|
||||||
* monitored.
|
* monitored.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
struct monitor;
|
||||||
|
typedef struct monitor MONITOR;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
void *(*startMonitor)(void *, void*);
|
void *(*startMonitor)(MONITOR *monitor, const CONFIG_PARAMETER *params);
|
||||||
void (*stopMonitor)(void *);
|
void (*stopMonitor)(MONITOR *monitor);
|
||||||
void (*diagnostics)(DCB *, void *);
|
void (*diagnostics)(DCB *, const MONITOR *);
|
||||||
} MONITOR_OBJECT;
|
} MONITOR_OBJECT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -58,9 +58,9 @@ MODULE_INFO info =
|
|||||||
};
|
};
|
||||||
/*lint +e14 */
|
/*lint +e14 */
|
||||||
|
|
||||||
static void *startMonitor(void *, void*);
|
static void *startMonitor(MONITOR *, const CONFIG_PARAMETER *params);
|
||||||
static void stopMonitor(void *);
|
static void stopMonitor(MONITOR *);
|
||||||
static void diagnostics(DCB *, void *);
|
static void diagnostics(DCB *, const MONITOR *);
|
||||||
static MONITOR_SERVERS *get_candidate_master(MONITOR*);
|
static MONITOR_SERVERS *get_candidate_master(MONITOR*);
|
||||||
static MONITOR_SERVERS *set_cluster_master(MONITOR_SERVERS *, MONITOR_SERVERS *, int);
|
static MONITOR_SERVERS *set_cluster_master(MONITOR_SERVERS *, MONITOR_SERVERS *, int);
|
||||||
static void disableMasterFailback(void *, int);
|
static void disableMasterFailback(void *, int);
|
||||||
@ -124,11 +124,9 @@ GetModuleObject()
|
|||||||
* @return A handle to use when interacting with the monitor
|
* @return A handle to use when interacting with the monitor
|
||||||
*/
|
*/
|
||||||
static void *
|
static void *
|
||||||
startMonitor(void *arg, void* opt)
|
startMonitor(MONITOR *mon, const CONFIG_PARAMETER *params)
|
||||||
{
|
{
|
||||||
MONITOR* mon = arg;
|
|
||||||
GALERA_MONITOR *handle = mon->handle;
|
GALERA_MONITOR *handle = mon->handle;
|
||||||
CONFIG_PARAMETER* params = (CONFIG_PARAMETER*) opt;
|
|
||||||
bool have_events = false, script_error = false;
|
bool have_events = false, script_error = false;
|
||||||
if (handle != NULL)
|
if (handle != NULL)
|
||||||
{
|
{
|
||||||
@ -234,9 +232,8 @@ startMonitor(void *arg, void* opt)
|
|||||||
* @param arg Handle on thr running monior
|
* @param arg Handle on thr running monior
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
stopMonitor(void *arg)
|
stopMonitor(MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
|
||||||
GALERA_MONITOR *handle = (GALERA_MONITOR *) mon->handle;
|
GALERA_MONITOR *handle = (GALERA_MONITOR *) mon->handle;
|
||||||
|
|
||||||
handle->shutdown = 1;
|
handle->shutdown = 1;
|
||||||
@ -250,10 +247,9 @@ stopMonitor(void *arg)
|
|||||||
* @param arg The monitor handle
|
* @param arg The monitor handle
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
diagnostics(DCB *dcb, void *arg)
|
diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
const GALERA_MONITOR *handle = (const GALERA_MONITOR *) mon->handle;
|
||||||
GALERA_MONITOR *handle = (GALERA_MONITOR *) mon->handle;
|
|
||||||
MONITOR_SERVERS *db;
|
MONITOR_SERVERS *db;
|
||||||
char *sep;
|
char *sep;
|
||||||
|
|
||||||
|
|||||||
@ -46,9 +46,9 @@ MODULE_INFO info =
|
|||||||
};
|
};
|
||||||
/*lint +e14 */
|
/*lint +e14 */
|
||||||
|
|
||||||
static void *startMonitor(void *, void*);
|
static void *startMonitor(MONITOR *, const CONFIG_PARAMETER *);
|
||||||
static void stopMonitor(void *);
|
static void stopMonitor(MONITOR *);
|
||||||
static void diagnostics(DCB *, void *);
|
static void diagnostics(DCB *, const MONITOR *);
|
||||||
static void detectStaleMaster(void *, int);
|
static void detectStaleMaster(void *, int);
|
||||||
static MONITOR_SERVERS *get_current_master(MONITOR *);
|
static MONITOR_SERVERS *get_current_master(MONITOR *);
|
||||||
static bool isMySQLEvent(monitor_event_t event);
|
static bool isMySQLEvent(monitor_event_t event);
|
||||||
@ -109,11 +109,9 @@ GetModuleObject()
|
|||||||
* @return A handle to use when interacting with the monitor
|
* @return A handle to use when interacting with the monitor
|
||||||
*/
|
*/
|
||||||
static void *
|
static void *
|
||||||
startMonitor(void *arg, void* opt)
|
startMonitor(MONITOR *mon, const CONFIG_PARAMETER *params)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
|
||||||
MM_MONITOR *handle = mon->handle;
|
MM_MONITOR *handle = mon->handle;
|
||||||
CONFIG_PARAMETER* params = (CONFIG_PARAMETER*) opt;
|
|
||||||
bool have_events = false, script_error = false;
|
bool have_events = false, script_error = false;
|
||||||
|
|
||||||
if (handle)
|
if (handle)
|
||||||
@ -203,9 +201,8 @@ startMonitor(void *arg, void* opt)
|
|||||||
* @param arg Handle on thr running monior
|
* @param arg Handle on thr running monior
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
stopMonitor(void *arg)
|
stopMonitor(MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = arg;
|
|
||||||
MM_MONITOR *handle = (MM_MONITOR *) mon->handle;
|
MM_MONITOR *handle = (MM_MONITOR *) mon->handle;
|
||||||
|
|
||||||
handle->shutdown = 1;
|
handle->shutdown = 1;
|
||||||
@ -218,10 +215,9 @@ stopMonitor(void *arg)
|
|||||||
* @param dcb DCB to print diagnostics
|
* @param dcb DCB to print diagnostics
|
||||||
* @param arg The monitor handle
|
* @param arg The monitor handle
|
||||||
*/
|
*/
|
||||||
static void diagnostics(DCB *dcb, void *arg)
|
static void diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
const MM_MONITOR *handle = (const MM_MONITOR *) mon->handle;
|
||||||
MM_MONITOR *handle = (MM_MONITOR *) mon->handle;
|
|
||||||
MONITOR_SERVERS *db;
|
MONITOR_SERVERS *db;
|
||||||
char *sep;
|
char *sep;
|
||||||
|
|
||||||
|
|||||||
@ -69,9 +69,9 @@ MODULE_INFO info =
|
|||||||
};
|
};
|
||||||
/*lint +e14 */
|
/*lint +e14 */
|
||||||
|
|
||||||
static void *startMonitor(void *, void*);
|
static void *startMonitor(MONITOR *, const CONFIG_PARAMETER*);
|
||||||
static void stopMonitor(void *);
|
static void stopMonitor(MONITOR *);
|
||||||
static void diagnostics(DCB *, void *);
|
static void diagnostics(DCB *, const MONITOR *);
|
||||||
static MONITOR_SERVERS *getServerByNodeId(MONITOR_SERVERS *, long);
|
static MONITOR_SERVERS *getServerByNodeId(MONITOR_SERVERS *, long);
|
||||||
static MONITOR_SERVERS *getSlaveOfNodeId(MONITOR_SERVERS *, long);
|
static MONITOR_SERVERS *getSlaveOfNodeId(MONITOR_SERVERS *, long);
|
||||||
static MONITOR_SERVERS *get_replication_tree(MONITOR *, int);
|
static MONITOR_SERVERS *get_replication_tree(MONITOR *, int);
|
||||||
@ -140,11 +140,9 @@ GetModuleObject()
|
|||||||
* @return A handle to use when interacting with the monitor
|
* @return A handle to use when interacting with the monitor
|
||||||
*/
|
*/
|
||||||
static void *
|
static void *
|
||||||
startMonitor(void *arg, void* opt)
|
startMonitor(MONITOR *monitor, const CONFIG_PARAMETER* params)
|
||||||
{
|
{
|
||||||
MONITOR* monitor = (MONITOR*) arg;
|
|
||||||
MYSQL_MONITOR *handle = (MYSQL_MONITOR*) monitor->handle;
|
MYSQL_MONITOR *handle = (MYSQL_MONITOR*) monitor->handle;
|
||||||
CONFIG_PARAMETER* params = (CONFIG_PARAMETER*) opt;
|
|
||||||
bool have_events = false, script_error = false;
|
bool have_events = false, script_error = false;
|
||||||
|
|
||||||
if (handle)
|
if (handle)
|
||||||
@ -248,9 +246,8 @@ startMonitor(void *arg, void* opt)
|
|||||||
* @param arg Handle on thr running monior
|
* @param arg Handle on thr running monior
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
stopMonitor(void *arg)
|
stopMonitor(MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
|
||||||
MYSQL_MONITOR *handle = (MYSQL_MONITOR *) mon->handle;
|
MYSQL_MONITOR *handle = (MYSQL_MONITOR *) mon->handle;
|
||||||
|
|
||||||
handle->shutdown = 1;
|
handle->shutdown = 1;
|
||||||
@ -263,10 +260,9 @@ stopMonitor(void *arg)
|
|||||||
* @param dcb DCB to print diagnostics
|
* @param dcb DCB to print diagnostics
|
||||||
* @param arg The monitor handle
|
* @param arg The monitor handle
|
||||||
*/
|
*/
|
||||||
static void diagnostics(DCB *dcb, void *arg)
|
static void diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
const MYSQL_MONITOR *handle = (const MYSQL_MONITOR *) mon->handle;
|
||||||
MYSQL_MONITOR *handle = (MYSQL_MONITOR *) mon->handle;
|
|
||||||
MONITOR_SERVERS *db;
|
MONITOR_SERVERS *db;
|
||||||
char *sep;
|
char *sep;
|
||||||
|
|
||||||
|
|||||||
@ -46,9 +46,9 @@ MODULE_INFO info =
|
|||||||
};
|
};
|
||||||
/*lint +e14 */
|
/*lint +e14 */
|
||||||
|
|
||||||
static void *startMonitor(void *, void*);
|
static void *startMonitor(MONITOR *, const CONFIG_PARAMETER *params);
|
||||||
static void stopMonitor(void *);
|
static void stopMonitor(MONITOR *);
|
||||||
static void diagnostics(DCB *, void *);
|
static void diagnostics(DCB *, const MONITOR *);
|
||||||
bool isNdbEvent(monitor_event_t event);
|
bool isNdbEvent(monitor_event_t event);
|
||||||
|
|
||||||
static MONITOR_OBJECT MyObject =
|
static MONITOR_OBJECT MyObject =
|
||||||
@ -106,11 +106,9 @@ GetModuleObject()
|
|||||||
* @return A handle to use when interacting with the monitor
|
* @return A handle to use when interacting with the monitor
|
||||||
*/
|
*/
|
||||||
static void *
|
static void *
|
||||||
startMonitor(void *arg, void* opt)
|
startMonitor(MONITOR *mon, const CONFIG_PARAMETER *params)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
|
||||||
MYSQL_MONITOR *handle = mon->handle;
|
MYSQL_MONITOR *handle = mon->handle;
|
||||||
CONFIG_PARAMETER* params = (CONFIG_PARAMETER*) opt;
|
|
||||||
bool have_events = false, script_error = false;
|
bool have_events = false, script_error = false;
|
||||||
|
|
||||||
if (handle != NULL)
|
if (handle != NULL)
|
||||||
@ -195,9 +193,8 @@ startMonitor(void *arg, void* opt)
|
|||||||
* @param arg Handle on thr running monior
|
* @param arg Handle on thr running monior
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
stopMonitor(void *arg)
|
stopMonitor(MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = (MONITOR*) arg;
|
|
||||||
MYSQL_MONITOR *handle = (MYSQL_MONITOR *) mon->handle;
|
MYSQL_MONITOR *handle = (MYSQL_MONITOR *) mon->handle;
|
||||||
|
|
||||||
handle->shutdown = 1;
|
handle->shutdown = 1;
|
||||||
@ -211,10 +208,9 @@ stopMonitor(void *arg)
|
|||||||
* @param arg The monitor handle
|
* @param arg The monitor handle
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
diagnostics(DCB *dcb, void *arg)
|
diagnostics(DCB *dcb, const MONITOR *mon)
|
||||||
{
|
{
|
||||||
MONITOR* mon = arg;
|
const MYSQL_MONITOR *handle = (const MYSQL_MONITOR *) mon->handle;
|
||||||
MYSQL_MONITOR *handle = (MYSQL_MONITOR *) mon->handle;
|
|
||||||
MONITOR_SERVERS *db;
|
MONITOR_SERVERS *db;
|
||||||
char *sep;
|
char *sep;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user