forked from TrueCloudLab/restic
move Backend interface to backend package
This commit is contained in:
parent
ceb0774af1
commit
1b8a67fe76
105 changed files with 822 additions and 775 deletions
|
@ -11,7 +11,6 @@ import (
|
|||
|
||||
"github.com/restic/restic/internal/debug"
|
||||
"github.com/restic/restic/internal/errors"
|
||||
"github.com/restic/restic/internal/restic"
|
||||
)
|
||||
|
||||
func verifyContentMatchesName(s string, data []byte) (bool, error) {
|
||||
|
@ -33,7 +32,7 @@ func verifyContentMatchesName(s string, data []byte) (bool, error) {
|
|||
// LoadAll reads all data stored in the backend for the handle into the given
|
||||
// buffer, which is truncated. If the buffer is not large enough or nil, a new
|
||||
// one is allocated.
|
||||
func LoadAll(ctx context.Context, buf []byte, be restic.Backend, h restic.Handle) ([]byte, error) {
|
||||
func LoadAll(ctx context.Context, buf []byte, be Backend, h Handle) ([]byte, error) {
|
||||
retriedInvalidData := false
|
||||
err := be.Load(ctx, h, 0, 0, func(rd io.Reader) error {
|
||||
// make sure this is idempotent, in case an error occurs this function may be called multiple times!
|
||||
|
@ -47,7 +46,7 @@ func LoadAll(ctx context.Context, buf []byte, be restic.Backend, h restic.Handle
|
|||
// retry loading damaged data only once. If a file fails to download correctly
|
||||
// the second time, then it is likely corrupted at the backend. Return the data
|
||||
// to the caller in that case to let it decide what to do with the data.
|
||||
if !retriedInvalidData && h.Type != restic.ConfigFile {
|
||||
if !retriedInvalidData && h.Type != ConfigFile {
|
||||
if matches, err := verifyContentMatchesName(h.Name, buf); err == nil && !matches {
|
||||
debug.Log("retry loading broken blob %v", h)
|
||||
retriedInvalidData = true
|
||||
|
@ -77,11 +76,11 @@ func LimitReadCloser(r io.ReadCloser, n int64) *LimitedReadCloser {
|
|||
}
|
||||
|
||||
type memorizedLister struct {
|
||||
fileInfos []restic.FileInfo
|
||||
tpe restic.FileType
|
||||
fileInfos []FileInfo
|
||||
tpe FileType
|
||||
}
|
||||
|
||||
func (m *memorizedLister) List(ctx context.Context, t restic.FileType, fn func(restic.FileInfo) error) error {
|
||||
func (m *memorizedLister) List(ctx context.Context, t FileType, fn func(FileInfo) error) error {
|
||||
if t != m.tpe {
|
||||
return fmt.Errorf("filetype mismatch, expected %s got %s", m.tpe, t)
|
||||
}
|
||||
|
@ -97,13 +96,13 @@ func (m *memorizedLister) List(ctx context.Context, t restic.FileType, fn func(r
|
|||
return ctx.Err()
|
||||
}
|
||||
|
||||
func MemorizeList(ctx context.Context, be restic.Lister, t restic.FileType) (restic.Lister, error) {
|
||||
func MemorizeList(ctx context.Context, be Lister, t FileType) (Lister, error) {
|
||||
if _, ok := be.(*memorizedLister); ok {
|
||||
return be, nil
|
||||
}
|
||||
|
||||
var fileInfos []restic.FileInfo
|
||||
err := be.List(ctx, t, func(fi restic.FileInfo) error {
|
||||
var fileInfos []FileInfo
|
||||
err := be.List(ctx, t, func(fi FileInfo) error {
|
||||
fileInfos = append(fileInfos, fi)
|
||||
return nil
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue