mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-03 22:23:10 +00:00
setup query end
This commit is contained in:
parent
eec66c9238
commit
911de83537
@ -277,6 +277,7 @@ method query*(
|
||||
iter = QueryIter.new()
|
||||
|
||||
proc next(): Future[?!QueryResponse] {.async.} =
|
||||
let ctx = ctx
|
||||
defer:
|
||||
if lock.locked:
|
||||
lock.release()
|
||||
@ -289,10 +290,9 @@ method query*(
|
||||
|
||||
await lock.acquire()
|
||||
|
||||
dispatchTask[DbQueryResponse[KeyId, DataBuffer]](self, signal):
|
||||
self.tp.spawn queryTask(ctx, ds, dq)
|
||||
discard ctx[].signal.fireSync()
|
||||
await ctx[].signal.wait()
|
||||
dispatchTaskWrap[DbQueryResponse[KeyId, DataBuffer]](self, signal):
|
||||
# trigger query task to iterate then wait for new result!
|
||||
discard ctx[].signal.fireSync()
|
||||
|
||||
if ctx[].res.isErr() and ctx[].res.error()[0] == ErrorEnum.QueryEndedErr:
|
||||
iter.finished = true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user