diff options
Diffstat (limited to 'vendor/git.iim.gay/grufwub/go-store/storage/errors.go')
-rw-r--r-- | vendor/git.iim.gay/grufwub/go-store/storage/errors.go | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/git.iim.gay/grufwub/go-store/storage/errors.go b/vendor/git.iim.gay/grufwub/go-store/storage/errors.go new file mode 100644 index 000000000..016593596 --- /dev/null +++ b/vendor/git.iim.gay/grufwub/go-store/storage/errors.go @@ -0,0 +1,63 @@ +package storage + +import ( + "fmt" + "syscall" +) + +// errorString is our own simple error type +type errorString string + +// Error implements error +func (e errorString) Error() string { + return string(e) +} + +// Extend appends extra information to an errorString +func (e errorString) Extend(s string, a ...interface{}) errorString { + return errorString(string(e) + ": " + fmt.Sprintf(s, a...)) +} + +var ( + // ErrNotFound is the error returned when a key cannot be found in storage + ErrNotFound = errorString("store/storage: key not found") + + // ErrAlreadyExist is the error returned when a key already exists in storage + ErrAlreadyExists = errorString("store/storage: key already exists") + + // ErrInvalidkey is the error returned when an invalid key is passed to storage + ErrInvalidKey = errorString("store/storage: invalid key") + + // errPathIsFile is returned when a path for a disk config is actually a file + errPathIsFile = errorString("store/storage: path is file") + + // errNoHashesWritten is returned when no blocks are written for given input value + errNoHashesWritten = errorString("storage/storage: no hashes written") + + // errInvalidNode is returned when read on an invalid node in the store is attempted + errInvalidNode = errorString("store/storage: invalid node") + + // errCorruptNodes is returned when nodes with missing blocks are found during a BlockStorage clean + errCorruptNodes = errorString("store/storage: corrupted nodes") +) + +// errSwapNoop performs no error swaps +func errSwapNoop(err error) error { + return err +} + +// ErrSwapNotFound swaps syscall.ENOENT for ErrNotFound +func errSwapNotFound(err error) error { + if err == syscall.ENOENT { + return ErrNotFound + } + return err +} + +// errSwapExist swaps syscall.EEXIST for ErrAlreadyExists +func errSwapExist(err error) error { + if err == syscall.EEXIST { + return ErrAlreadyExists + } + return err +} |