From 254e85bef03cfeccc27c6827c214b58711555243 Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Sat, 14 Dec 2024 12:45:30 +0100 Subject: [PATCH] Hopfully optimised modelutlmsg --- Messages.py | 48 +++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/Messages.py b/Messages.py index 6067483..a27f490 100644 --- a/Messages.py +++ b/Messages.py @@ -30,6 +30,7 @@ class NetworkIdMsg(IMessage): class ModelUrlMsg(IMessage): id = 0x90 + length = 6 def __init__(self, networkId, thingId, url): self.networkId = networkId @@ -37,23 +38,36 @@ class ModelUrlMsg(IMessage): self.url = url def Serialize(self, buffer): - ix = 0 - buffer[ix] = ModelUrlMsg.id - ix+=1 - buffer[ix] = self.networkId - ix+=1 - buffer[ix] = self.thingId - ix+=1 - buffer[ix] = 0x3D # Dummy float16 value 1 - ix+=1 - buffer[ix] = 0x00 - ix+=1 - buffer[ix] = len(self.url) - ix+=1 - for c in self.url: - buffer[ix] = ord(c) - ix+=1 - return ix + buffer[0:ModelUrlMsg.length] = [ + ModelUrlMsg.id, + self.networkId, + self.thingId, + 0x3D, # Dummy float16 value 1 + 0x00, + len(self.url) + ] + # Append the url string + fullLength = ModelUrlMsg.length + len(self.url) + buffer[ModelUrlMsg.length:fullLength] = \ + [ord(c) for c in self.url] + return fullLength + # ix = 0 + # buffer[ix] = ModelUrlMsg.id + # ix+=1 + # buffer[ix] = self.networkId + # ix+=1 + # buffer[ix] = self.thingId + # ix+=1 + # buffer[ix] = 0x3D # Dummy float16 value 1 + # ix+=1 + # buffer[ix] = 0x00 + # ix+=1 + # buffer[ix] = len(self.url) + # ix+=1 + # for c in self.url: + # buffer[ix] = ord(c) + # ix+=1 + # return ix @staticmethod def Send(participant, networkId, thingId, modelUrl):