|
|
|
@ -306,7 +306,7 @@ def gen_connack(resv=0, rc=0):
|
|
|
|
|
|
|
|
|
|
def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0):
|
|
|
|
|
rl = 2+len(topic)
|
|
|
|
|
pack_format = "!BBH"+str(len(topic))+"s"
|
|
|
|
|
pack_format = "H"+str(len(topic))+"s"
|
|
|
|
|
if qos > 0:
|
|
|
|
|
rl = rl + 2
|
|
|
|
|
pack_format = pack_format + "H"
|
|
|
|
@ -317,6 +317,7 @@ def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0):
|
|
|
|
|
payload = ""
|
|
|
|
|
pack_format = pack_format + "0s"
|
|
|
|
|
|
|
|
|
|
rlpacked = pack_remaining_length(rl)
|
|
|
|
|
cmd = 48 | (qos<<1)
|
|
|
|
|
if retain:
|
|
|
|
|
cmd = cmd + 1
|
|
|
|
@ -324,9 +325,9 @@ def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0):
|
|
|
|
|
cmd = cmd + 8
|
|
|
|
|
|
|
|
|
|
if qos > 0:
|
|
|
|
|
return struct.pack(pack_format, cmd, rl, len(topic), topic, mid, payload)
|
|
|
|
|
return struct.pack("!B" + str(len(rlpacked))+"s" + pack_format, cmd, rlpacked, len(topic), topic, mid, payload)
|
|
|
|
|
else:
|
|
|
|
|
return struct.pack(pack_format, cmd, rl, len(topic), topic, payload)
|
|
|
|
|
return struct.pack("!B" + str(len(rlpacked))+"s" + pack_format, cmd, rlpacked, len(topic), topic, payload)
|
|
|
|
|
|
|
|
|
|
def gen_puback(mid):
|
|
|
|
|
return struct.pack('!BBH', 64, 2, mid)
|
|
|
|
|