mirror of
https://github.com/emqx/neuron.git
synced 2026-10-22 01:05:56 +08:00
MQTT connection state update
This commit is contained in:
@@ -219,6 +219,13 @@ static void *mqtt_send_loop(void *argument)
|
||||
if (rc) {
|
||||
usleep(INTERVAL);
|
||||
}
|
||||
|
||||
// Update link state
|
||||
if (MQTTC_SUCCESS != mqttc_client_is_connected(plugin->mqtt_client)) {
|
||||
plugin->common.link_state = NEU_PLUGIN_LINK_STATE_DISCONNECTED;
|
||||
} else {
|
||||
plugin->common.link_state = NEU_PLUGIN_LINK_STATE_CONNECTED;
|
||||
}
|
||||
}
|
||||
|
||||
// Cleanup on quit
|
||||
@@ -252,7 +259,6 @@ static neu_plugin_t *mqtt_plugin_open(neu_adapter_t * adapter,
|
||||
neu_plugin_common_init(&plugin->common);
|
||||
plugin->common.adapter = adapter;
|
||||
plugin->common.adapter_callbacks = callbacks;
|
||||
plugin->common.link_state = NEU_PLUGIN_LINK_STATE_DISCONNECTED;
|
||||
|
||||
log_info("Success to create plugin: %s", neu_plugin_module.module_name);
|
||||
return plugin;
|
||||
@@ -289,7 +295,6 @@ static int mqtt_plugin_uninit(neu_plugin_t *plugin)
|
||||
mqttc_client_close(plugin->mqtt_client);
|
||||
plugin->mqtt_client = NULL;
|
||||
mqtt_option_uninit(&plugin->option);
|
||||
plugin->common.link_state = NEU_PLUGIN_LINK_STATE_DISCONNECTED;
|
||||
|
||||
// Quit publish thread
|
||||
pthread_mutex_lock(&plugin->running_mutex);
|
||||
@@ -309,8 +314,6 @@ static int mqtt_plugin_config(neu_plugin_t *plugin, neu_config_t *configs)
|
||||
return -1;
|
||||
}
|
||||
|
||||
plugin->common.link_state = NEU_PLUGIN_LINK_STATE_CONNECTING;
|
||||
|
||||
// Try close MQTT-C client
|
||||
mqttc_client_close(plugin->mqtt_client);
|
||||
plugin->mqtt_client = NULL;
|
||||
@@ -337,7 +340,6 @@ static int mqtt_plugin_config(neu_plugin_t *plugin, neu_config_t *configs)
|
||||
return -1;
|
||||
}
|
||||
|
||||
plugin->common.link_state = NEU_PLUGIN_LINK_STATE_CONNECTED;
|
||||
log_info("Config plugin: %s", neu_plugin_module.module_name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user