[object Object]

← back to Exo

delete expired peers

b480e7ed178da40191ff74c6d0e976c0c30c797b · 2024-09-23 22:32:56 +0100 · Alex Cheema

Files touched

Diff

commit b480e7ed178da40191ff74c6d0e976c0c30c797b
Author: Alex Cheema <alexcheema123@gmail.com>
Date:   Mon Sep 23 22:32:56 2024 +0100

    delete expired peers
---
 exo/networking/tailscale_discovery.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/exo/networking/tailscale_discovery.py b/exo/networking/tailscale_discovery.py
index cc35440c..5ad94284 100644
--- a/exo/networking/tailscale_discovery.py
+++ b/exo/networking/tailscale_discovery.py
@@ -88,6 +88,7 @@ class TailscaleDiscovery(Discovery):
               continue
             if current_time - updated_at > self.discovery_timeout:
               if DEBUG_DISCOVERY >= 3: print(f"{device.device_id} has outdated exo node attributes. skipping.")
+              if peer_id in self.known_peers: del self.known_peers[peer_id]
               continue
 
             if peer_id not in self.known_peers or self.known_peers[peer_id][0].addr() != f"{peer_host}:{peer_port}":
@@ -132,13 +133,10 @@ class TailscaleDiscovery(Discovery):
           peer_handle.id() for peer_handle, connected_at, last_seen in self.known_peers.values()
           if (not await peer_handle.is_connected() and current_time - connected_at > self.discovery_timeout) or current_time - last_seen > self.discovery_timeout
         ]
-        if DEBUG_DISCOVERY >= 2:
-          print("Peer statuses:", {peer_handle.id(): f"is_connected={await peer_handle.is_connected()}, {connected_at=}, {last_seen=}" for peer_handle, connected_at, last_seen in self.known_peers.values()})
+        if DEBUG_DISCOVERY >= 2: print("Peer statuses:", {peer_handle.id(): f"is_connected={await peer_handle.is_connected()}, {connected_at=}, {last_seen=}" for peer_handle, connected_at, last_seen in self.known_peers.values()})
         for peer_id in peers_to_remove:
-          if peer_id in self.known_peers:
-            del self.known_peers[peer_id]
-          if DEBUG_DISCOVERY >= 2:
-            print(f"Removed peer {peer_id} due to inactivity.")
+          if peer_id in self.known_peers: del self.known_peers[peer_id]
+          if DEBUG_DISCOVERY >= 2: print(f"Removed peer {peer_id} due to inactivity.")
       except Exception as e:
         print(f"Error in cleanup peers: {e}")
         print(traceback.format_exc())

← 69f1fe18 faster discovery_interval, separate update_interval for tail  ·  back to Exo  ·  formatting 417fe82b →