Spaces:
Paused
Paused
File size: 641 Bytes
233feb1 76e5d9f 8b0801b 233feb1 dff2e80 233feb1 76e5d9f 8fc4ed2 233feb1 70dbc85 8fc4ed2 8b0801b 70dbc85 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
from typing import Union
from fastapi.websockets import WebSocket, WebSocketState
from websockets import ConnectionClosedError
class Accelerator:
ws: Union[WebSocket, None] = None
def connected(self):
if self.ws == None: return False
if self.ws.client_state == WebSocketState.CONNECTED:
return True
else:
self.ws = None
return False
async def connect(self, ws: WebSocket):
await ws.accept()
self.ws = ws
async def accelerate(self, input):
try:
await self.ws.send_text(input)
return await self.ws.receive_text()
except ConnectionClosedError:
self.ws = None
|