Adds exception handling in TCPListener.listen()

This commit is contained in:
Reza Ameli
2025-05-09 02:10:02 -04:00
committed by Paul Robinson
parent e076a038bc
commit bb21af7694

View File

@ -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,