From bb21af769424744db1c03a2c59813b1db1cc565e Mon Sep 17 00:00:00 2001 From: Reza Ameli Date: Fri, 9 May 2025 02:10:02 -0400 Subject: [PATCH] Adds exception handling in `TCPListener.listen()` --- libp2p/transport/tcp/tcp.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libp2p/transport/tcp/tcp.py b/libp2p/transport/tcp/tcp.py index dfa22425..205bfeef 100644 --- a/libp2p/transport/tcp/tcp.py +++ b/libp2p/transport/tcp/tcp.py @@ -63,8 +63,14 @@ class TCPListener(IListener): await trio.serve_tcp(handler, port, host=host, task_status=task_status) async def handler(stream: trio.SocketStream) -> None: - tcp_stream = TrioTCPStream(stream) - await self.handler(tcp_stream) + remote_host : str = "" + remote_port : int = 0 + try: + tcp_stream = TrioTCPStream(stream) + remote_host,remote_port = tcp_stream.get_remote_address() + await self.handler(tcp_stream) + except Exception as e: + logger.error(f"Connection from {remote_host}:{remote_port} failed.") listeners = await nursery.start( serve_tcp,