From fad5e8547e532a4b85b1337eb3081f2035a68f06 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sun, 26 Jul 2020 19:15:26 -0500 Subject: [PATCH] Moved cooldownPeer to KV to further reduce coupling --- src/communicator/__init__.py | 2 +- src/communicatorutils/connectnewpeers.py | 2 +- src/communicatorutils/cooldownpeer.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/communicator/__init__.py b/src/communicator/__init__.py index 051cedda..3861ece5 100755 --- a/src/communicator/__init__.py +++ b/src/communicator/__init__.py @@ -70,6 +70,7 @@ class OnionrCommunicatorDaemon: self.kv.put('newPeers', []) self.kv.put('dbTimestamps', {}) self.kv.put('blocksToUpload', []) + self.kv.put('cooldownPeer', {}) if config.get('general.offline_mode', False): self.isOnline = False @@ -88,7 +89,6 @@ class OnionrCommunicatorDaemon: self.delay = 1 # lists of connected peers and peers we know we can't reach currently - self.cooldownPeer = {} self.connectTimes = {} # list of peer's profiles (onionrpeers.PeerProfile instances) self.peerProfiles = [] diff --git a/src/communicatorutils/connectnewpeers.py b/src/communicatorutils/connectnewpeers.py index 056dcf61..7beb9e9c 100755 --- a/src/communicatorutils/connectnewpeers.py +++ b/src/communicatorutils/connectnewpeers.py @@ -76,7 +76,7 @@ def connect_new_peer_to_communicator(comm_inst, peer='', useBootstrap=False): """ if len(address) == 0 or address in tried \ or address in kv.get('onlinePeers') \ - or address in comm_inst.cooldownPeer: + or address in kv.get('cooldownPeer'): continue if kv.get('shutdown'): return diff --git a/src/communicatorutils/cooldownpeer.py b/src/communicatorutils/cooldownpeer.py index e44c448b..969ba7a3 100755 --- a/src/communicatorutils/cooldownpeer.py +++ b/src/communicatorutils/cooldownpeer.py @@ -36,10 +36,10 @@ def cooldown_peer(comm_inst): tempConnectTimes = dict(comm_inst.connectTimes) # Remove peers from cooldown that have been there long enough - tempCooldown = dict(comm_inst.cooldownPeer) + tempCooldown = dict(kv.get('cooldownPeer')) for peer in tempCooldown: if (epoch.get_epoch() - tempCooldown[peer]) >= cooldown_time: - del comm_inst.cooldownPeer[peer] + del kv.get('cooldownPeer')[peer] # Cool down a peer, if we have max connections alive for long enough if online_peer_amount >= config.get('peers.max_connect', 10, save=True): @@ -56,6 +56,6 @@ def cooldown_peer(comm_inst): break else: onlinepeers.remove_online_peer(comm_inst, to_cool) - comm_inst.cooldownPeer[to_cool] = epoch.get_epoch() + kv.get('cooldownPeer')[to_cool] = epoch.get_epoch() comm_inst.decrementThreadCount('cooldown_peer')