docs: def _preload_range(self):
          """Preload data for reading"""
          queue = self._read_queue
          size = self._buffer_size
          start = self._seek
          end = int(start + size * self._max_buffers)
          workers_submit = self._workers.submit
          indexes = tuple(range(start, end, size))
  
          # Drops buffer out of current range
          for seek in tuple(queue):
              if seek not in indexes:
                  del queue[seek]
  
          # Launch buffer preloading for current range
          read_range = self._read_range
          for seek in indexes:
              if seek not in queue:
                  queue[seek] = workers_submit(read_range, seek, seek + size)