MCPcopy
hub / github.com/HelloZeroNet/ZeroNet / processPeerRes

Function processPeerRes

plugins/AnnounceZero/AnnounceZeroPlugin.py:22–43  ·  view source on GitHub ↗
(tracker_address, site, peers)

Source from the content-addressed store, hash-verified

20
21# Process result got back from tracker
22def 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")

Callers 1

announceTrackerZeroMethod · 0.85

Calls 4

addPeerMethod · 0.80
onPeersMethod · 0.80
getMethod · 0.45
updateWebsocketMethod · 0.45

Tested by

no test coverage detected