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)
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
def pubcomp(pubrel: "pubrels"): sockid, pubrel = pubrel sock = state.sockets[sockid] pubcomp = MQTTV3.Pubcomps() pubcomp.messageIdentifier = pubrel.messageIdentifier sock.send(pubcomp.pack())