mirror of
https://github.com/espressif/esp-mqtt.git
synced 2025-07-29 18:28:24 +02:00
feat: Moves deletion of expired messages to run at all states
Process expiration of messages in all states removing messages from the outbox even in disconnected scenarios. Closes https://github.com/espressif/esp-mqtt/issues/278
This commit is contained in:
@ -1589,6 +1589,8 @@ static void esp_mqtt_task(void *pv)
|
||||
while (client->run) {
|
||||
MQTT_API_LOCK(client);
|
||||
run_event_loop(client);
|
||||
// delete long pending messages
|
||||
mqtt_delete_expired_messages(client);
|
||||
mqtt_client_state_t state = client->state;
|
||||
switch (state) {
|
||||
case MQTT_STATE_DISCONNECTED:
|
||||
@ -1668,8 +1670,6 @@ static void esp_mqtt_task(void *pv)
|
||||
last_retransmit = platform_tick_get_ms();
|
||||
}
|
||||
|
||||
// delete long pending messages
|
||||
mqtt_delete_expired_messages(client);
|
||||
|
||||
// resend all non-transmitted messages first
|
||||
outbox_item_handle_t item = outbox_dequeue(client->outbox, QUEUED, NULL);
|
||||
|
Reference in New Issue
Block a user