|
|
|
@ -2,6 +2,8 @@ from fastapi import FastAPI, WebSocket, WebSocketDisconnect, Query |
|
|
|
from threading import Thread |
|
|
|
import uvicorn |
|
|
|
import asyncio |
|
|
|
from protobuf_decoder.protobuf_decoder import Parser |
|
|
|
from logger import logger |
|
|
|
|
|
|
|
#only rx |
|
|
|
class WSTransport: |
|
|
|
@ -37,10 +39,16 @@ class WSTransport: |
|
|
|
self.thread = Thread(target=run, daemon=True) |
|
|
|
self.thread.start() |
|
|
|
|
|
|
|
async def recv(self): |
|
|
|
async def recv(self, packetParse = True): |
|
|
|
item = await self._recv_q.get() |
|
|
|
if item is None: |
|
|
|
raise ConnectionError(self._error or "tcp transport error") |
|
|
|
|
|
|
|
if packetParse: |
|
|
|
to_parse = ' '.join(f'{byte:02x}' for byte in item) |
|
|
|
res = Parser().parse(to_parse) |
|
|
|
logger.info("[WS PACKET]", res.to_dict()) |
|
|
|
|
|
|
|
return item |
|
|
|
|
|
|
|
async def send(self, payload): |
|
|
|
|