summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org')
-rw-r--r--vendor/codeberg.org/gruf/go-store/v2/kv/store.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/vendor/codeberg.org/gruf/go-store/v2/kv/store.go b/vendor/codeberg.org/gruf/go-store/v2/kv/store.go
index 86ba73f67..5ea795e7c 100644
--- a/vendor/codeberg.org/gruf/go-store/v2/kv/store.go
+++ b/vendor/codeberg.org/gruf/go-store/v2/kv/store.go
@@ -38,10 +38,7 @@ func OpenBlock(path string, cfg *storage.BlockConfig) (*KVStore, error) {
}
func OpenMemory(overwrites bool) *KVStore {
- return &KVStore{
- mu: mutexes.NewMap(-1, -1),
- st: storage.OpenMemory(100, overwrites),
- }
+ return New(storage.OpenMemory(100, overwrites))
}
func OpenS3(endpoint string, bucket string, cfg *storage.S3Config) (*KVStore, error) {
@@ -55,6 +52,7 @@ func OpenS3(endpoint string, bucket string, cfg *storage.S3Config) (*KVStore, er
return OpenStorage(storage)
}
+// OpenStorage will return a new KVStore instance based on Storage, performing an initial storage.Clean().
func OpenStorage(storage storage.Storage) (*KVStore, error) {
// Perform initial storage clean
err := storage.Clean(context.Background())
@@ -63,10 +61,18 @@ func OpenStorage(storage storage.Storage) (*KVStore, error) {
}
// Return new KVStore
+ return New(storage), nil
+}
+
+// New will simply return a new KVStore instance based on Storage.
+func New(storage storage.Storage) *KVStore {
+ if storage == nil {
+ panic("nil storage")
+ }
return &KVStore{
mu: mutexes.NewMap(-1, -1),
st: storage,
- }, nil
+ }
}
// RLock acquires a read-lock on supplied key, returning unlock function.