changeset 779:bad87b7dc608

subscribe with AT_LEAST_ONCE flag
author drewp@bigasterisk.com
date Sat, 08 Aug 2020 14:02:46 -0700
parents acf58b83022f
children 729ab70c6212
files lib/mqtt_client/mqtt_client.py
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lib/mqtt_client/mqtt_client.py	Sat Aug 08 13:56:39 2020 -0700
+++ b/lib/mqtt_client/mqtt_client.py	Sat Aug 08 14:02:46 2020 -0700
@@ -7,6 +7,7 @@
 from twisted.internet.endpoints import clientFromString
 
 log = logging.getLogger('mqtt_client')
+AT_MOST_ONCE, AT_LEAST_ONCE, EXACTLY_ONCE = 0, 1, 2
 
 class MQTTService(ClientService):
 
@@ -25,7 +26,7 @@
 
     def _subscribeToLatestTopic(self, protocol, topic: bytes):
         if protocol.state == protocol.CONNECTED:
-            self.protocol.subscribe(topics=[(topic.decode('utf8'), 2)])
+            self.protocol.subscribe(topics=[(topic.decode('utf8'), AT_LEAST_ONCE)])
         # else it'll get done in the next connectToBroker.
 
     def _subscribeAll(self):
@@ -33,7 +34,7 @@
         if not topics:
             return
         log.info('subscribing %r', topics)
-        self.protocol.subscribe(topics=[(topic.decode('utf8'), 2) for topic in topics])
+        self.protocol.subscribe(topics=[(topic.decode('utf8'), AT_LEAST_ONCE) for topic in topics])
 
 
     @inlineCallbacks