(tracker_address, site, peers)
| 20 | |
| 21 | # Process result got back from tracker |
| 22 | def processPeerRes(tracker_address, site, peers): |
| 23 | added = 0 |
| 24 | # Ip4 |
| 25 | found_ipv4 = 0 |
| 26 | peers_normal = itertools.chain(peers.get("ip4", []), peers.get("ipv4", []), peers.get("ipv6", [])) |
| 27 | for packed_address in peers_normal: |
| 28 | found_ipv4 += 1 |
| 29 | peer_ip, peer_port = helper.unpackAddress(packed_address) |
| 30 | if site.addPeer(peer_ip, peer_port, source="tracker"): |
| 31 | added += 1 |
| 32 | # Onion |
| 33 | found_onion = 0 |
| 34 | for packed_address in peers["onion"]: |
| 35 | found_onion += 1 |
| 36 | peer_onion, peer_port = helper.unpackOnionAddress(packed_address) |
| 37 | if site.addPeer(peer_onion, peer_port, source="tracker"): |
| 38 | added += 1 |
| 39 | |
| 40 | if added: |
| 41 | site.worker_manager.onPeers() |
| 42 | site.updateWebsocket(peers_added=added) |
| 43 | return added |
| 44 | |
| 45 | |
| 46 | @PluginManager.registerTo("SiteAnnouncer") |
no test coverage detected