code: def __read_chunk(self, start, size):
          
          for _retries in range(3):
              command = 1504
              command_string = pack('<ii', start, size)
              if self.tcp:
                  response_size = size + 32
              else:
                  response_size = 1024 + 8
              cmd_response = self.__send_command(command, command_string, response_size)
              data = self.__recieve_chunk()
              if data is not None:
                  return data
          else:
              raise ZKErrorResponse("can't read chunk %i:[%i]" % (start, size))
docs: read a chunk from buffer