From 7b879c8e4666bc990c21d58f5d42749780a294b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ruben=20B=C3=A4r?= Date: Wed, 5 Mar 2025 11:44:01 +0100 Subject: [PATCH] Do not decreate inflight messages on `PUBREL` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a QoS 2 message is received, the inflight messages was decremented on `PUBREL`. But the inflight messages must be a count of sent but not received messages. This yielded a negative inflight count for QoS 2 messages. This change removes this decrement and fixes #805. Signed-off-by: Ruben Bär --- src/paho/mqtt/client.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/paho/mqtt/client.py b/src/paho/mqtt/client.py index 4ccc8696..1cff99e0 100644 --- a/src/paho/mqtt/client.py +++ b/src/paho/mqtt/client.py @@ -3718,12 +3718,10 @@ def _messages_reconnect_reset_out(self) -> None: if m.qos == 0: m.state = mqtt_ms_publish elif m.qos == 1: - # self._inflight_messages = self._inflight_messages + 1 if m.state == mqtt_ms_wait_for_puback: m.dup = True m.state = mqtt_ms_publish elif m.qos == 2: - # self._inflight_messages = self._inflight_messages + 1 if self._check_clean_session(): if m.state != mqtt_ms_publish: m.dup = True @@ -4208,7 +4206,6 @@ def _handle_pubrel(self) -> MQTTErrorCode: # prevents multiple callbacks for the same message. message = self._in_messages.pop(mid) self._handle_on_message(message) - self._inflight_messages -= 1 if self._max_inflight_messages > 0: with self._out_message_mutex: rc = self._update_inflight()