feat(mqtt): add support for will message

This commit is contained in:
gc87
2023-11-16 18:45:28 +08:00
parent a2d794d8ed
commit e06d8a8e62
2 changed files with 23 additions and 0 deletions
+3
View File
@@ -74,6 +74,9 @@ size_t neu_mqtt_client_get_cached_msgs_num(neu_mqtt_client_t *client);
int neu_mqtt_client_set_addr(neu_mqtt_client_t *client, const char *host,
uint16_t port);
int neu_mqtt_client_set_id(neu_mqtt_client_t *client, const char *id);
int neu_mqtt_client_set_will_msg(neu_mqtt_client_t *client, const char *topic,
uint8_t *msg, uint32_t len, bool retain,
uint8_t qos);
int neu_mqtt_client_set_user(neu_mqtt_client_t *client, const char *username,
const char *password);
int neu_mqtt_client_set_connect_cb(neu_mqtt_client_t * client,
+20
View File
@@ -968,6 +968,26 @@ int neu_mqtt_client_set_id(neu_mqtt_client_t *client, const char *id)
return 0;
}
int neu_mqtt_client_set_will_msg(neu_mqtt_client_t *client, const char *topic,
uint8_t *msg, uint32_t len, bool retain,
uint8_t qos)
{
if (NULL == topic || NULL == msg || 0 == len) {
return -1;
}
nng_mtx_lock(client->mtx);
return_failure_if_open();
nng_mqtt_msg_set_connect_will_topic(client->conn_msg, topic);
nng_mqtt_msg_set_connect_will_msg(client->conn_msg, msg, len);
nng_mqtt_msg_set_connect_will_retain(client->conn_msg, retain);
nng_mqtt_msg_set_connect_will_qos(client->conn_msg, qos);
nng_mtx_unlock(client->mtx);
return 0;
}
int neu_mqtt_client_set_user(neu_mqtt_client_t *client, const char *username,
const char *password)
{