From 44f6b90777d38c7e558004912750ff59ffd73b9b Mon Sep 17 00:00:00 2001 From: Kevin F Date: Sun, 27 Feb 2022 13:34:16 -0600 Subject: [PATCH] When checking for peer online to add to peer pool, make sure it closes and avoid attempting if its already in the pool --- src/gossip/connectpeer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gossip/connectpeer.py b/src/gossip/connectpeer.py index 22aae214..2432a891 100644 --- a/src/gossip/connectpeer.py +++ b/src/gossip/connectpeer.py @@ -1,11 +1,16 @@ +from gossip.commands import GossipCommands, command_to_byte import logger def connect_peer(peer_set, peer): + if peer in peer_set: + return try: - peer.get_socket() + s = peer.get_socket() except Exception: logger.warn(f"Could not connect to {peer.transport_address}") else: + s.sendall(command_to_byte(GossipCommands.CLOSE)) + s.close() peer_set.add(peer) logger.info(f"connected to {peer.transport_address}")