Exemplo n.º 1
0
 def resendPub(self, pub):
     logger.debug("resending %s", str(pub))
     logger.info("[MQTT-4.4.0-2] dup flag must be set on in re-publish")
     if pub.fh.QoS == 0:
         respond(self.socket, pub, self.maximumPacketSize)
     elif pub.fh.QoS == 1:
         logger.info(
             "[MQTT-2.1.2-3] Dup when resending QoS 1 publish id %d",
             pub.packetIdentifier)
         logger.info(
             "[MQTT-2.3.1-4] Message id same as original publish on resend")
         logger.info("[MQTT-4.3.2-1] Resending QoS 1 with DUP flag")
         respond(self.socket, pub, self.maximumPacketSize)
         pub.fh.DUP = 1
     elif pub.fh.QoS == 2:
         if pub.qos2state == "PUBREC":
             logger.info(
                 "[MQTT-2.1.2-3] Dup when resending QoS 2 publish id %d",
                 pub.packetIdentifier)
             logger.info(
                 "[MQTT-2.3.1-4] Message id same as original publish on resend"
             )
             logger.info("[MQTT-4.3.3-1] Resending QoS 2 with DUP flag")
             respond(self.socket, pub, self.maximumPacketSize)
             pub.fh.DUP = 1
         else:
             resp = MQTTV5.Pubrels()
             logger.info(
                 "[MQTT-2.3.1-4] Message id same as original publish on resend"
             )
             resp.packetIdentifier = pub.packetIdentifier
             respond(self.socket, resp, self.maximumPacketSize)
Exemplo n.º 2
0
 def pubrec(self, sock, packet):
   "confirmed reception of qos 2"
   myclient = self.clients[sock]
   if myclient.pubrec(packet.packetIdentifier):
     logger.info("[MQTT-3.5.4-1] must reply with pubrel in response to pubrec")
     resp = MQTTV5.Pubrels()
     resp.packetIdentifier = packet.packetIdentifier
     respond(sock, resp)
Exemplo n.º 3
0
    def __init__(self, socket):
        logger.debug("initializing receiver")
        self.socket = socket
        self.stopping = False
        self.paused = False

        self.inMsgs = {}
        self.outMsgs = {}

        self.puback = MQTTV5.Pubacks()
        self.pubrec = MQTTV5.Pubrecs()
        self.pubrel = MQTTV5.Pubrels()
        self.pubcomp = MQTTV5.Pubcomps()
        self.running = False