MCPcopy
hub / github.com/restic/restic / loadFromCache

Method loadFromCache

internal/backend/cache/backend.go:139–151  ·  view source on GitHub ↗

loadFromCache will try to load the file from the cache.

(h backend.Handle, length int, offset int64, consumer func(rd io.Reader) error)

Source from the content-addressed store, hash-verified

137
138// loadFromCache will try to load the file from the cache.
139func (b *Backend) loadFromCache(h backend.Handle, length int, offset int64, consumer func(rd io.Reader) error) (bool, error) {
140 rd, inCache, err := b.Cache.load(h, length, offset)
141 if err != nil {
142 return inCache, err
143 }
144
145 err = consumer(rd)
146 if err != nil {
147 _ = rd.Close() // ignore secondary errors
148 return true, err
149 }
150 return true, rd.Close()
151}
152
153// Load loads a file from the cache or the backend.
154func (b *Backend) Load(ctx context.Context, h backend.Handle, length int, offset int64, consumer func(rd io.Reader) error) error {

Callers 1

LoadMethod · 0.95

Implementers 11

Backendinternal/backend/azure/azure.go
b2Backendinternal/backend/b2/b2.go
Backendinternal/backend/s3/s3.go
MemoryBackendinternal/backend/mem/mem_backend.go
Backendinternal/backend/dryrun/dry_backend.go
Localinternal/backend/local/local.go
Backendinternal/backend/gs/gs.go
Backendinternal/backend/mock/backend.go
Backendinternal/backend/rest/rest.go
beSwiftinternal/backend/swift/swift.go
SFTPinternal/backend/sftp/sftp.go

Calls 2

loadMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected