diff --git a/src/networkers.py b/src/networkers.py --- a/src/networkers.py +++ b/src/networkers.py @@ -1,5 +1,7 @@ import json +import stats + class NetworkReader: def __init__(self,stream): @@ -8,15 +10,22 @@ class NetworkReader: def readMsg(self): data=self.stream.readline() assert data + stats.logReceived(data) jsonLength=int(data.split(b":")[1].strip()) # "json-length: length" -> length + data=self.stream.readline() assert data + stats.logReceived(data) binLength=int(data.split(b":")[1].strip()) # "bin-length: length" -> length + jsonData=self.stream.read(jsonLength) assert len(jsonData)==jsonLength + stats.logReceived(jsonData) jsonData=json.loads(str(jsonData,encoding="utf-8")) + binData=self.stream.read(binLength) assert len(binData)==binLength + stats.logReceived(binData) return (jsonData,binData) @@ -26,8 +35,10 @@ class NetworkWriter: self.stream=stream def writeMsg(self,*args): - self.stream.write(self.prepMsg(*args)) + msg=self.prepMsg(*args) + self.stream.write(msg) self.stream.flush() + stats.logSent(msg) def prepMsg(self,jsonData,binData=b""): jsonData=bytes(json.dumps(jsonData)+"\n",encoding="utf-8")