diff options
| author | AAGaming <aagaming@riseup.net> | 2024-07-03 20:08:30 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-07-03 20:08:30 -0400 |
| commit | 2c4edeb810d740abfacc0dbded7626f9323ade77 (patch) | |
| tree | 0f74b9ba928326df586cd1c0a8042d6fb462230e /backend/decky_loader/wsrouter.py | |
| parent | b32fa7948fbae0648fc66f1ed83bea7b35b87476 (diff) | |
| download | decky-loader-2c4edeb810d740abfacc0dbded7626f9323ade77.tar.gz decky-loader-2c4edeb810d740abfacc0dbded7626f9323ade77.zip | |
implement a shutdown routine instead of just waiting for all plugins to stop on their own
Diffstat (limited to 'backend/decky_loader/wsrouter.py')
| -rw-r--r-- | backend/decky_loader/wsrouter.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/backend/decky_loader/wsrouter.py b/backend/decky_loader/wsrouter.py index 96e61daf..b513723f 100644 --- a/backend/decky_loader/wsrouter.py +++ b/backend/decky_loader/wsrouter.py @@ -2,7 +2,7 @@ from logging import getLogger from asyncio import AbstractEventLoop, create_task -from aiohttp import WSMsgType, WSMessage +from aiohttp import WSCloseCode, WSMsgType, WSMessage from aiohttp.web import Application, WebSocketResponse, Request, Response, get from enum import IntEnum @@ -133,3 +133,7 @@ class WSRouter: async def emit(self, event: str, *args: Any): self.logger.debug(f'Firing frontend event {event} with args {args}') await self.write({ "type": MessageType.EVENT.value, "event": event, "args": args }) + + async def disconnect(self): + if self.ws: + await self.ws.close(code=WSCloseCode.GOING_AWAY, message=b"Loader is shutting down") |
