revisions / additions / GOD DAMN IT
This commit is contained in:
@@ -29,7 +29,6 @@ class ConnectionManager:
|
||||
'resource': _client.resource,
|
||||
'platform': _client.platform,
|
||||
'connected_at': _client.connected_at,
|
||||
'current_game': _client.current_game if _client.current_game else None,
|
||||
})
|
||||
|
||||
await websocket.send_json({
|
||||
@@ -62,6 +61,8 @@ class ConnectionManager:
|
||||
csid: str,
|
||||
handshakedClient: CAHClient):
|
||||
|
||||
if websocket in self.active_connections:
|
||||
self.active_connections.pop(websocket)
|
||||
self.active_connections[websocket] = {
|
||||
'websocket': websocket,
|
||||
'csid': csid,
|
||||
@@ -80,12 +81,26 @@ class ConnectionManager:
|
||||
await self.send_client_and_game_lists(state,
|
||||
websocket)
|
||||
|
||||
def disconnect(self, websocket: WebSocket, csid: str = None):
|
||||
async def disconnect(self, state, websocket: WebSocket, csid: str = None):
|
||||
disconnected = self.get_connection_by_ws(websocket)
|
||||
disconnected_client = disconnected.get('client')
|
||||
disconnected_resource = disconnected_client.resource
|
||||
await self.broadcast({
|
||||
"event": "client_disconnected",
|
||||
"ts": int(time.time()),
|
||||
"data": {
|
||||
"disconnected_resource": disconnected_resource,
|
||||
}
|
||||
})
|
||||
self.active_connections.pop(websocket)
|
||||
|
||||
|
||||
async def send(self, message: str, websocket: WebSocket):
|
||||
await websocket.send_json(message)
|
||||
|
||||
async def broadcast(self, message: str):
|
||||
for connection in self.active_connections:
|
||||
await connection.send_json(message)
|
||||
try:
|
||||
await connection.send_json(message)
|
||||
except:
|
||||
continue
|
||||
Reference in New Issue
Block a user