From aecde57fc74353f1956f3d4a5e3be765022df3ac Mon Sep 17 00:00:00 2001 From: Jonathan Zernik Date: Sat, 18 Sep 2021 15:25:24 -0700 Subject: [PATCH] Peer server handle accept connection in new thread (#1339) --- squeaknode/network/peer_client.py | 4 +--- squeaknode/network/peer_server.py | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/squeaknode/network/peer_client.py b/squeaknode/network/peer_client.py index 0725b6b8..23ab0c1f 100644 --- a/squeaknode/network/peer_client.py +++ b/squeaknode/network/peer_client.py @@ -53,7 +53,6 @@ class PeerClient(object): self.handle_connection( peer_socket, address, - outgoing=True, ) except Exception: logger.exception('Failed to make connection to {}'.format(address)) @@ -63,13 +62,12 @@ class PeerClient(object): self, peer_socket: socket.socket, peer_address: PeerAddress, - outgoing: bool, ): """Handle a newly connected peer socket.""" self.peer_handler.handle_connection( peer_socket, peer_address, - outgoing, + outgoing=True, ) def get_socket(self): diff --git a/squeaknode/network/peer_server.py b/squeaknode/network/peer_server.py index 9d475bb8..207c3047 100644 --- a/squeaknode/network/peer_server.py +++ b/squeaknode/network/peer_server.py @@ -70,7 +70,20 @@ class PeerServer(object): port=port, ) peer_socket.setblocking(True) - self.peer_handler.handle_connection( - peer_socket, peer_address, outgoing=False) + self.handle_connection( + peer_socket, + peer_address, + ) except Exception: logger.info("Stopped accepting incoming connections.") + + def handle_connection( + self, + peer_socket: socket.socket, + peer_address: PeerAddress, + ): + """Handle a newly connected peer socket.""" + threading.Thread( + target=self.peer_handler.handle_connection, + args=(peer_socket, peer_address, False), + ).start()