MQTT connection state update

This commit is contained in:
gc87
2021-12-16 00:39:43 +08:00
committed by Parker Liu
parent 5907ee1c5a
commit e934239b5d
+7 -5
View File
@@ -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;
}