From e54277f8f876c3923bfc838edb6c49253d56e936 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 7 Jan 2022 09:00:44 -0500 Subject: [PATCH] Fix ssdp snoop of XCC SSDP was declaring victory too early, wait until the right volume of information is confirmed available before commiting to shared structures. --- confluent_server/confluent/discovery/protocols/ssdp.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/confluent_server/confluent/discovery/protocols/ssdp.py b/confluent_server/confluent/discovery/protocols/ssdp.py index 12744906..fc6485c8 100644 --- a/confluent_server/confluent/discovery/protocols/ssdp.py +++ b/confluent_server/confluent/discovery/protocols/ssdp.py @@ -79,16 +79,13 @@ def scan(services, target=None): def _process_snoop(peer, rsp, mac, known_peers, newmacs, peerbymacaddress, byehandler, machandlers, handler): - known_peers.add(peer) - newmacs.add(mac) if mac in peerbymacaddress and peer not in peerbymacaddress[mac]['addresses']: peerbymacaddress[mac]['addresses'].append(peer) else: - peerbymacaddress[mac] = { + peerdata = { 'hwaddr': mac, 'addresses': [peer], } - peerdata = peerbymacaddress[mac] for headline in rsp[1:]: if not headline: continue @@ -113,6 +110,9 @@ def _process_snoop(peer, rsp, mac, known_peers, newmacs, peerbymacaddress, byeha if handler: retdata = check_fish(('/DeviceDescription.json', peerdata)) if retdata: + known_peers.add(peer) + newmacs.add(mac) + peerbymacaddress[mac] = peerdata handler(retdata)