#from Thing import Thing class BinaryMsg(): id = 0xB1 length = 3 def __init__(self, data, thing = None): if isinstance(data, bytearray): self.network_id = data[1] self.thing_id = data[2] #self.thing: Thing = Thing.Get(self.network_id, self.thing_id) self.data = data[3:] else: self.network_id = data self.thing_id = thing.id self.thing = thing def Serialize(self, buffer_ref): if self.network_id is None or self.thing_id is None: return 0 buffer: bytearray = buffer_ref[0] ix = self.length self.thing.GenerateBinary(buffer, {ix}) if ix <= self.length: return 0 buffer[0] = self.id buffer[1] = self.network_id buffer[2] = self.thing_id return ix # def SendTo(participant, thing, data: bytearray): # length = 3 # if thing.network_id is None or thing is None or data is None: # return False # participant.buffer[0:length] = [ # BinaryMsg.id, # participant.network_id, # thing.id # ] # full_length = length + len(data) # participant.buffer[length:full_length] = data # participant.SendBuffer(full_length) # return True