|
|
@@ -66,7 +66,7 @@ func (sf *kStoreKv) Log() ILogBuf {
|
|
|
}
|
|
|
|
|
|
// Set -- устанавливает значение по ключу
|
|
|
-func (sf *kStoreKv) Set(key string, val []byte) error {
|
|
|
+func (sf *kStoreKv) Set(key string, val []byte) Result[bool] {
|
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
|
sf.log.Debug("kStoreKv.Set(): key='%v'", key)
|
|
|
@@ -76,15 +76,15 @@ func (sf *kStoreKv) Set(key string, val []byte) error {
|
|
|
}
|
|
|
err := sf.db.Update(fnSet)
|
|
|
if err != nil {
|
|
|
- strOut := fmt.Sprintf("kStoreKv.Set(): key=%v, err=\n\t%v", key, err)
|
|
|
- sf.log.Err(strOut)
|
|
|
- return fmt.Errorf(strOut, "")
|
|
|
+ err := fmt.Errorf("kStoreKv.Set(): key=%v, err=\n\t%w", key, err)
|
|
|
+ sf.log.Err(err.Error())
|
|
|
+ return NewErr[bool](err)
|
|
|
}
|
|
|
- return nil
|
|
|
+ return NewOk(true)
|
|
|
}
|
|
|
|
|
|
// Get -- возвращает значение по ключу
|
|
|
-func (sf *kStoreKv) Get(key string) ([]byte, error) {
|
|
|
+func (sf *kStoreKv) Get(key string) Result[[]byte] {
|
|
|
sf.RLock()
|
|
|
defer sf.RUnlock()
|
|
|
sf.log.Debug("kStoreKv.Get(): key='%v'", key)
|
|
|
@@ -99,15 +99,15 @@ func (sf *kStoreKv) Get(key string) ([]byte, error) {
|
|
|
}
|
|
|
err := sf.db.View(fnGet)
|
|
|
if err != nil {
|
|
|
- strOut := fmt.Sprintf("kStoreKv.Get(): key=%v, err=\n\t%v", key, err)
|
|
|
- sf.log.Err(strOut)
|
|
|
- return nil, fmt.Errorf(strOut, "")
|
|
|
+ err := fmt.Errorf("kStoreKv.Get(): key=%v, err=\n\t%v", key, err)
|
|
|
+ sf.log.Err(err.Error())
|
|
|
+ return NewErr[[]byte](err)
|
|
|
}
|
|
|
- return binVal, nil
|
|
|
+ return NewOk(binVal)
|
|
|
}
|
|
|
|
|
|
// Delete -- удалить ключ из хранилища
|
|
|
-func (sf *kStoreKv) Delete(key string) error {
|
|
|
+func (sf *kStoreKv) Delete(key string) Result[bool] {
|
|
|
sf.Lock()
|
|
|
defer sf.Unlock()
|
|
|
sf.log.Debug("kStoreKv.Delete(): key='%v'", key)
|
|
|
@@ -117,11 +117,11 @@ func (sf *kStoreKv) Delete(key string) error {
|
|
|
}
|
|
|
err := sf.db.Update(fnDelete)
|
|
|
if err != nil {
|
|
|
- strOut := fmt.Sprintf("kStoreKv.Delete(): key=%v, err=\n\t%v", key, err)
|
|
|
- sf.log.Err(strOut)
|
|
|
- return fmt.Errorf(strOut, "")
|
|
|
+ err := fmt.Errorf("kStoreKv.Delete(): key=%v, err=\n\t%w", key, err)
|
|
|
+ sf.log.Err(err.Error())
|
|
|
+ return NewErr[bool](err)
|
|
|
}
|
|
|
- return nil
|
|
|
+ return NewOk(true)
|
|
|
}
|
|
|
|
|
|
// Открывает базу при создании
|
|
|
@@ -138,8 +138,8 @@ func (sf *kStoreKv) open() {
|
|
|
Hassert(err == nil, "kStoreKv.open(): in make dir %v, err=\n\t%v", sf.storePath, err)
|
|
|
sf.db, err = badger.Open(badger.DefaultOptions(sf.storePath))
|
|
|
Hassert(err == nil, "kStoreKv.open(): in open DB %v, err=\n\t%v", sf.storePath, err)
|
|
|
- err = sf.wg.Add(storeStreamName)
|
|
|
- Hassert(err == nil, "kStoreKv.open(): in add name stream to IKernelWg, err=\n\t%v", err)
|
|
|
+ res := sf.wg.Add(storeStreamName)
|
|
|
+ Hassert(res.IsOk(), "kStoreKv.open(): in add name stream to IKernelWg, err=\n\t%v", res.Error())
|
|
|
sf.isWork.Set()
|
|
|
go sf.close()
|
|
|
go sf.clean()
|