docs: def parse_message(message, nodata=False):
      """Parse df message from bytearray.
  
      @message - message data
      @nodata - do not load data
      @return - [binary header, metadata, binary data]
  
      """
      header = read_machine_header(message)
      h_len = __get_machine_header_length(header)
      meta_raw = message[h_len:h_len + header['meta_len']]
      meta = __parse_meta(meta_raw, header)
      data_start = h_len + header['meta_len']
      data = b''
      if not nodata:
          data = __decompress(
              meta,
              message[data_start:data_start + header['data_len']]
          )
      return header, meta, data