func()

in pkg/files/store/file.go [38:60]


func (f *file) prefetch(offset int64, count int64) {
	go func() {
		fileSize, err := f.Fstat()
		if err != nil {
			return
		}

		segs, err := math.NewSegments(offset, files.CacheBlockSize, count, fileSize)
		if err != nil {
			f.reader.Log().Error().Err(err).Msg("prefetch error: failed to create segments")
			return
		}

		for seg := range segs.All() {
			f.store.prefetchChan <- prefetchableSegment{
				name:   f.Name,
				reader: f.reader,
				offset: seg.Index,
				count:  seg.Count,
			}
		}
	}()
}