mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-06 23:53:09 +00:00
cleanup tiered ds
This commit is contained in:
parent
7f9c319b98
commit
c0f6e38fda
@ -55,31 +55,26 @@ method delete*(
|
||||
|
||||
method get*(
|
||||
self: TieredDatastore,
|
||||
key: Key): Future[?!(?seq[byte])] {.async, locks: "unknown".} =
|
||||
key: Key): Future[?!seq[byte]] {.async, locks: "unknown".} =
|
||||
|
||||
var
|
||||
bytesOpt: ?seq[byte]
|
||||
bytes: seq[byte]
|
||||
|
||||
for store in self.stores:
|
||||
let
|
||||
getRes = await store.get(key)
|
||||
without bytes =? (await store.get(key)):
|
||||
continue
|
||||
|
||||
if getRes.isErr: return getRes
|
||||
|
||||
bytesOpt = getRes.get
|
||||
if bytes.len <= 0:
|
||||
continue
|
||||
|
||||
# put found data into stores logically in front of the current store
|
||||
if bytes =? bytesOpt:
|
||||
for s in self.stores:
|
||||
if s == store: break
|
||||
let
|
||||
putRes = await s.put(key, bytes)
|
||||
for s in self.stores:
|
||||
if s == store: break
|
||||
if(
|
||||
let res = await s.put(key, bytes); res.isErr):
|
||||
return failure res.error
|
||||
|
||||
if putRes.isErr: return failure putRes.error.msg
|
||||
|
||||
break
|
||||
|
||||
return success bytesOpt
|
||||
return success bytes
|
||||
|
||||
method put*(
|
||||
self: TieredDatastore,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user