Skip to content

Commit cea7e95

Browse files
Merge branch 'fix/deleted_msg_event' into 'master'
When MQTT_REPORT_DELETED_MESSAGES, delete QOS messages with id 0 Closes IDFGH-14022 and IDFGH-14021 See merge request espressif/esp-mqtt!225
2 parents 942fd02 + ea036a5 commit cea7e95

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

include/mqtt_client.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,13 @@ typedef enum esp_mqtt_event_id_t {
8080
MQTT_EVENT_BEFORE_CONNECT, /*!< The event occurs before connecting */
8181
MQTT_EVENT_DELETED, /*!< Notification on delete of one message from the
8282
internal outbox, if the message couldn't have been sent
83-
and acknowledged before expiring defined in
83+
or acknowledged before expiring defined in
8484
OUTBOX_EXPIRED_TIMEOUT_MS. (events are not posted upon
8585
deletion of successfully acknowledged messages)
8686
- This event id is posted only if
8787
MQTT_REPORT_DELETED_MESSAGES==1
8888
- Additional context: msg_id (id of the deleted
89-
message).
89+
message, always 0 for QoS = 0 messages).
9090
*/
9191
MQTT_USER_EVENT, /*!< Custom event used to queue tasks into mqtt event handler
9292
All fields from the esp_mqtt_event_t type could be used to pass

mqtt_client.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1544,7 +1544,7 @@ static void mqtt_delete_expired_messages(esp_mqtt_client_handle_t client)
15441544
#if MQTT_REPORT_DELETED_MESSAGES
15451545
// also report the deleted items as MQTT_EVENT_DELETED events if enabled
15461546
int msg_id = 0;
1547-
while ((msg_id = outbox_delete_single_expired(client->outbox, platform_tick_get_ms(), OUTBOX_EXPIRED_TIMEOUT_MS)) > 0) {
1547+
while ((msg_id = outbox_delete_single_expired(client->outbox, platform_tick_get_ms(), OUTBOX_EXPIRED_TIMEOUT_MS)) >= 0) {
15481548
client->event.event_id = MQTT_EVENT_DELETED;
15491549
client->event.msg_id = msg_id;
15501550
if (esp_mqtt_dispatch_event(client) != ESP_OK) {

0 commit comments

Comments
 (0)