raise Exception("Unexpected ssi in Follow-up: " + ev)
# Follow-up from subscriber to publisher
+ time.sleep(0.2)
cmd = "NAN_TRANSMIT handle={} req_instance_id={} address={} ssi=8899".format(vals['subscribe_id'], vals['publish_id'], addr1)
if "FAIL" in dev0.request(cmd):
raise Exception("NAN_TRANSMIT failed")
if vals['peer_instance_id'] != id1:
raise Exception("Unexpected peer_instance_id: " + ev)
+ # Another Follow-up message from publisher to subscriber
+ cmd = "NAN_TRANSMIT handle={} req_instance_id={} address={} ssi=eeff".format(id1, vals['peer_instance_id'], addr0)
+ if "FAIL" in dev1.request(cmd):
+ raise Exception("NAN_TRANSMIT failed")
+
+ ev = dev0.wait_event(["NAN-RECEIVE"], timeout=5)
+ if ev is None:
+ raise Exception("Receive event not seen")
+ vals = split_nan_event(ev)
+ if vals['ssi'] != 'eeff':
+ raise Exception("Unexpected ssi in Follow-up: " + ev)
+ if vals['id'] != id0:
+ raise Exception("Unexpected id: " + ev)
+ if vals['peer_instance_id'] != id1:
+ raise Exception("Unexpected peer_instance_id: " + ev)
+
+ # And one more Follow-up message from publisher to subscriber after some
+ # delay.
+ time.sleep(0.5)
+ cmd = "NAN_TRANSMIT handle={} req_instance_id={} address={} ssi=22334455".format(id1, vals['peer_instance_id'], addr0)
+ if "FAIL" in dev1.request(cmd):
+ raise Exception("NAN_TRANSMIT failed")
+
+ ev = dev0.wait_event(["NAN-RECEIVE"], timeout=5)
+ if ev is None:
+ raise Exception("Receive event not seen")
+ vals = split_nan_event(ev)
+ if vals['ssi'] != '22334455':
+ raise Exception("Unexpected ssi in Follow-up: " + ev)
+ if vals['id'] != id0:
+ raise Exception("Unexpected id: " + ev)
+ if vals['peer_instance_id'] != id1:
+ raise Exception("Unexpected peer_instance_id: " + ev)
+
dev0.request("NAN_CANCEL_SUBSCRIBE id=" + id0)
dev1.request("NAN_CANCEL_PUBLISH id=" + id1)