mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 09:10:30 +08:00
removed __poll_dead_sockets()
This commit is contained in:
parent
831b4fa16c
commit
5ef5e00da9
@ -225,6 +225,7 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
|
|||||||
ws = aiohttp.web.WebSocketResponse(heartbeat=self.__heartbeat)
|
ws = aiohttp.web.WebSocketResponse(heartbeat=self.__heartbeat)
|
||||||
await ws.prepare(request)
|
await ws.prepare(request)
|
||||||
await self.__register_socket(ws)
|
await self.__register_socket(ws)
|
||||||
|
try:
|
||||||
await asyncio.gather(*[
|
await asyncio.gather(*[
|
||||||
self.__broadcast_event(_Events.INFO_STATE, (await self.__make_info())),
|
self.__broadcast_event(_Events.INFO_STATE, (await self.__make_info())),
|
||||||
self.__broadcast_event(_Events.WOL_STATE, self.__wol.get_state()),
|
self.__broadcast_event(_Events.WOL_STATE, self.__wol.get_state()),
|
||||||
@ -250,6 +251,8 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
|
|||||||
else:
|
else:
|
||||||
break
|
break
|
||||||
return ws
|
return ws
|
||||||
|
finally:
|
||||||
|
await self.__remove_socket(ws)
|
||||||
|
|
||||||
@exposed_ws("ping")
|
@exposed_ws("ping")
|
||||||
async def __ws_ping_handler(self, ws: aiohttp.web.WebSocketResponse, _: Dict) -> None:
|
async def __ws_ping_handler(self, ws: aiohttp.web.WebSocketResponse, _: Dict) -> None:
|
||||||
@ -268,7 +271,6 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
|
|||||||
app.on_cleanup.append(self.__on_cleanup)
|
app.on_cleanup.append(self.__on_cleanup)
|
||||||
|
|
||||||
self.__run_system_task(self.__stream_controller)
|
self.__run_system_task(self.__stream_controller)
|
||||||
self.__run_system_task(self.__poll_dead_sockets)
|
|
||||||
self.__run_system_task(self.__poll_state, _Events.HID_STATE, self.__hid.poll_state())
|
self.__run_system_task(self.__poll_state, _Events.HID_STATE, self.__hid.poll_state())
|
||||||
self.__run_system_task(self.__poll_state, _Events.ATX_STATE, self.__atx.poll_state())
|
self.__run_system_task(self.__poll_state, _Events.ATX_STATE, self.__atx.poll_state())
|
||||||
self.__run_system_task(self.__poll_state, _Events.MSD_STATE, self.__msd.poll_state())
|
self.__run_system_task(self.__poll_state, _Events.MSD_STATE, self.__msd.poll_state())
|
||||||
@ -420,13 +422,6 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
|
|||||||
prev = cur
|
prev = cur
|
||||||
await asyncio.sleep(0.1)
|
await asyncio.sleep(0.1)
|
||||||
|
|
||||||
async def __poll_dead_sockets(self) -> None:
|
|
||||||
while True:
|
|
||||||
for ws in list(self.__sockets):
|
|
||||||
if ws.closed or ws._req is None or ws._req.transport is None: # pylint: disable=protected-access
|
|
||||||
await self.__remove_socket(ws)
|
|
||||||
await asyncio.sleep(0.1)
|
|
||||||
|
|
||||||
async def __poll_state(self, event_type: _Events, poller: AsyncGenerator[Dict, None]) -> None:
|
async def __poll_state(self, event_type: _Events, poller: AsyncGenerator[Dict, None]) -> None:
|
||||||
async for state in poller:
|
async for state in poller:
|
||||||
await self.__broadcast_event(event_type, state)
|
await self.__broadcast_event(event_type, state)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user