summaryrefslogtreecommitdiff
path: root/vendor/git.iim.gay/grufwub/go-store/storage/errors.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2021-09-12 10:10:24 +0100
committerLibravatar GitHub <noreply@github.com>2021-09-12 10:10:24 +0100
commitf6492d12d948507021bbe934de94e87e20464c01 (patch)
tree6705d6ef6f3c4d70f3b3ebc77c2960d8e508cf37 /vendor/git.iim.gay/grufwub/go-store/storage/errors.go
parentMerge pull request #213 from superseriousbusiness/alpine+node_upstep (diff)
parentfix keys used to access storage items (diff)
downloadgotosocial-f6492d12d948507021bbe934de94e87e20464c01.tar.xz
Merge pull request #214 from NyaaaWhatsUpDoc/improvement/update-storage-library
add git.iim.gay/grufwub/go-store for storage backend, replacing blob.Storage
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.go63
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
+}