in pkg/files/store/store.go [26:54]
func NewFilesStore(ctx context.Context, r routing.Router, fileCachePath string) (FilesStore, error) {
fs := &store{
metricsRecorder: metrics.FromContext(ctx),
cache: cache.NewCache(ctx, int64(files.CacheBlockSize), fileCachePath),
prefetchChan: make(chan prefetchableSegment, PrefetchWorkers),
prefetchable: PrefetchWorkers > 0,
router: r,
resolveRetries: ResolveRetries,
resolveTimeout: ResolveTimeout,
blobsChan: make(chan string, 1000),
parser: urlparser.New(),
}
go func() {
<-ctx.Done()
err := r.Close()
l := zerolog.Ctx(ctx).Debug()
if err != nil {
l = zerolog.Ctx(ctx).Error().Err(err)
}
l.Msg("router close")
}()
for i := 0; i < PrefetchWorkers; i++ {
go fs.prefetch()
}
return fs, nil
}