File size: 528 Bytes
233feb1
76e5d9f
233feb1
 
dff2e80
233feb1
76e5d9f
 
 
 
 
 
 
 
8fc4ed2
233feb1
 
 
 
70dbc85
7ace067
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from typing import Union
from fastapi.websockets import WebSocket, WebSocketState

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):    
    await self.ws.send_text(input)
    return await self.ws.receive_text()