def encode(self, message_params, header_params, little_endian=False): message_params = message_params.copy() if self.only_header: parameters = self._headers(message_params) return self._protocol.encode(None, parameters) msg = Message(self.name) self._encode_fields(msg, message_params, little_endian=little_endian) if self._protocol: header = self._protocol.encode(msg, self._headers(header_params)) msg._add_header(header) return msg
def encode(self, message_params, header_params, little_endian=False): message_params = message_params.copy() if self.only_header: parameters = self._headers(message_params) return self._protocol.encode(None, parameters) msg = Message(self.name) self._encode_fields(msg, message_params, little_endian=little_endian) if self._protocol: # TODO: little endian support for protocol header header = self._protocol.encode(msg, self._headers(header_params)) self.length.find_length_and_set_if_necessary(header, len(msg._raw)) msg._add_header(header) return msg
def _get_struct(self, name, parent=None): return Message(self.name)