INNER CODE UNIT · Go

layerFromCache

tazjin/nixery · builder/cache.go:150

func layerFromCache(ctx context.Context, s *State, key string) (*manifest.Entry, bool) {
	if entry, cached := s.Cache.layerFromLocalCache(key); cached {
		return entry, true
	}

	r, err := s.Storage.Fetch(ctx, "builds/"+key)
	if err != nil {
		slog.Debug("failed to retrieve cached layer from storage backend", "err", err, "layer", key, "backend", s.Storage.Name())

		return nil, false
	}
	defer r.Close()

	jb := bytes.NewBuffer([]byte{})
	_, err = io.Copy(jb, r)
	if err != nil {
		slog.Error("failed to read cached layer from storage backend", "err", err, "layer", key, "backend", s.Storage.Name())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…