mirror of
https://github.com/restic/restic.git
synced 2025-12-12 03:11:56 +00:00
backend: add IsPermanentError() method to interface
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
type Backend struct {
|
||||
CloseFn func() error
|
||||
IsNotExistFn func(err error) bool
|
||||
IsPermanentErrorFn func(err error) bool
|
||||
SaveFn func(ctx context.Context, h backend.Handle, rd backend.RewindReader) error
|
||||
OpenReaderFn func(ctx context.Context, h backend.Handle, length int, offset int64) (io.ReadCloser, error)
|
||||
StatFn func(ctx context.Context, h backend.Handle) (backend.FileInfo, error)
|
||||
@@ -83,6 +84,14 @@ func (m *Backend) IsNotExist(err error) bool {
|
||||
return m.IsNotExistFn(err)
|
||||
}
|
||||
|
||||
func (m *Backend) IsPermanentError(err error) bool {
|
||||
if m.IsPermanentErrorFn == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return m.IsPermanentErrorFn(err)
|
||||
}
|
||||
|
||||
// Save data in the backend.
|
||||
func (m *Backend) Save(ctx context.Context, h backend.Handle, rd backend.RewindReader) error {
|
||||
if m.SaveFn == nil {
|
||||
|
||||
Reference in New Issue
Block a user