nuttx-apps/netutils/mqttc/0001_add_connection_status.patch

67 lines
1.9 KiB
Diff
Raw Normal View History

diff -Naur MQTT-C_orig/include/mqtt.h MQTT-C/include/mqtt.h
--- MQTT-C_orig/include/mqtt.h 2021-03-29 14:53:52.000000000 -0300
+++ MQTT-C/include/mqtt.h 2023-05-13 09:52:45.704346335 -0300
@@ -1233,6 +1233,9 @@
/** @brief The sending message queue. */
struct mqtt_message_queue mq;
+
+ /** @brief Flag is set on connection event */
+ bool event_connect;
};
/**
diff -Naur MQTT-C_orig/src/mqtt.c MQTT-C/src/mqtt.c
--- MQTT-C_orig/src/mqtt.c 2021-03-29 14:53:52.000000000 -0300
+++ MQTT-C/src/mqtt.c 2023-05-13 10:00:36.725165859 -0300
@@ -118,6 +118,10 @@
client->socketfd = sockfd;
+ /* Indicate we are not connected yet */
+
+ client->event_connect = false;
+
mqtt_mq_init(&client->mq, sendbuf, sendbufsz);
client->recv_buffer.mem_start = recvbuf;
@@ -151,6 +155,10 @@
client->socketfd = (mqtt_pal_socket_handle) -1;
+ /* Indicate we are not connected yet */
+
+ client->event_connect = false;
+
mqtt_mq_init(&client->mq, NULL, 0);
client->recv_buffer.mem_start = NULL;
@@ -179,6 +187,10 @@
client->error = MQTT_ERROR_CONNECT_NOT_CALLED;
client->socketfd = socketfd;
+ /* Indicate we are not connected yet */
+
+ client->event_connect = false;
+
mqtt_mq_init(&client->mq, sendbuf, sendbufsz);
client->recv_buffer.mem_start = recvbuf;
@@ -592,6 +604,7 @@
case MQTT_CONTROL_PUBCOMP:
case MQTT_CONTROL_DISCONNECT:
msg->state = MQTT_QUEUED_COMPLETE;
+ client->event_connect = false;
break;
case MQTT_CONTROL_PUBLISH:
inspected = ( MQTT_PUBLISH_QOS_MASK & (msg->start[0]) ) >> 1; /* qos */
@@ -732,6 +745,8 @@
mqtt_recv_ret = MQTT_ERROR_CONNECTION_REFUSED;
}
break;
+ } else {
+ client->event_connect = true;
}
break;
case MQTT_CONTROL_PUBLISH: