Start the relay server
(self)
| 122 | self._pending_pongs: dict[str, asyncio.Event] = {} |
| 123 | |
| 124 | async def start(self) -> None: |
| 125 | """Start the relay server""" |
| 126 | await self.request_cache.start() |
| 127 | |
| 128 | self._server = await asyncio.start_server( |
| 129 | self._handle_connection, |
| 130 | self.host, |
| 131 | self.port, |
| 132 | ) |
| 133 | self._running = True |
| 134 | |
| 135 | addrs = ", ".join(str(sock.getsockname()) for sock in self._server.sockets) |
| 136 | logger.info(f"Relay Server listening on {addrs}") |
| 137 | |
| 138 | async with self._server: |
| 139 | await self._server.serve_forever() |
| 140 | |
| 141 | async def stop(self) -> None: |
| 142 | """Stop the relay server (idempotent, concurrency-safe). |