from .message_coder import message_coder class message_encoder(message_coder): def __init__(self, target: message) -> None: self.__target = target @property def size(self) -> int: return self.__target.size + self.hash_size() + self.type_size() def code(self) -> bytes: result = self.__target.get_type().to_bytes(self.type_size()) for count in self.__target.fields: result += count.encoder().code() result += self._get_hash(result) return result def __len__(self) -> int: return self.size