Ejemplo n.º 1
0
 def publish(self, p_topic, p_message, qosLevel=0, retain=False, dup=False, messageId=None):
     # LOG.info("Sending publish packet\n\tTopic: {};\n\tAddr: {};".format(p_topic, self.m_broker.BrokerAddress))
     l_varHeader = bytearray()
     l_payload = bytearray()
     #  Type = publish
     l_varHeader.extend(EncodeDecode._encodeString(p_topic))
     if qosLevel > 0:
         if messageId is not None:
             l_varHeader.extend(EncodeDecode._encodeValue(messageId))
         else:
             l_varHeader.extend(EncodeDecode._encodeValue(random.randint(1, 0xFFFF)))
     l_payload.extend(EncodeDecode._put_string(p_message))
     # l_payload.extend(p_message)
     l_fixHeader = self._build_fixed_header(0x03, len(l_varHeader) + len(l_payload), dup, qosLevel, retain)
     self._send_transport(l_fixHeader, l_varHeader, l_payload)