Spaces:
Paused
Paused
File size: 568 Bytes
233feb1 8fc4ed2 233feb1 8fc4ed2 233feb1 8fc4ed2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from typing import Union
from fastapi.websockets import WebSocket, WebSocketState
class Accelerator:
ws: Union[WebSocket, None]
def connected(self): return self.ws != None
async def connect(self, ws: WebSocket):
await ws.accept()
self.ws = ws
async def accelerate(self, input):
while ws.client_state == WebSocketState.CONNECTING: pass
if ws.client_state == WebSocketState.CONNECTED:
await self.ws.send_text(input)
return await self.ws.receive_text()
elif ws.client_state == WebSocketState.DISCONNECTED:
ws = None
|