def pubrel(self, sock, packet):
   myclient = self.clients[sock]
   pub = myclient.pubrel(packet.messageIdentifier)
   if pub:
     if self.publish_on_pubrel:
       self.broker.publish(myclient.id, pub.topicName, pub.data, pub.fh.QoS, pub.fh.RETAIN)
       del myclient.inbound[packet.messageIdentifier]
     else:
       myclient.inbound.remove(packet.messageIdentifier)
   resp = MQTTV3.Pubcomps()
   logger.info("[MQTT-2.3.1-6] pubcomp messge id same as publish")
   resp.messageIdentifier = packet.messageIdentifier
   respond(sock, resp)
Beispiel #2
0
    def __init__(self, socket):
        logging.debug("initializing receiver")
        self.socket = socket
        self.stopping = False
        self.paused = False

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

        self.puback = MQTTV3.Pubacks()
        self.pubrec = MQTTV3.Pubrecs()
        self.pubrel = MQTTV3.Pubrels()
        self.pubcomp = MQTTV3.Pubcomps()
        self.running = False
Beispiel #3
0
def pubcomp(pubrel: "pubrels"):
    sockid, pubrel = pubrel
    sock = state.sockets[sockid]
    pubcomp = MQTTV3.Pubcomps()
    pubcomp.messageIdentifier = pubrel.messageIdentifier
    sock.send(pubcomp.pack())