From 70b5956773a125fdfd8c2c2c6704d68912d00992 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Tue, 26 Sep 2023 18:27:18 -0700 Subject: [PATCH] test query --- datastore/threads/threadproxyds.nim | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/datastore/threads/threadproxyds.nim b/datastore/threads/threadproxyds.nim index d0655d7..c015491 100644 --- a/datastore/threads/threadproxyds.nim +++ b/datastore/threads/threadproxyds.nim @@ -320,6 +320,9 @@ method query*( lock = newAsyncLock() # serialize querying under threads iter = QueryIter.new() + echo "query:first:iter:dispatch" + await nextSignal.fire() + echo "query:next:ready: " proc next(): Future[?!QueryResponse] {.async.} = @@ -337,19 +340,16 @@ method query*( echo "query:next:iter:finished" return failure (ref QueryEndedError)(msg: "Calling next on a finished query!") - if not ctx[].running: - echo "query:next:iter:finished " - iter.finished = true - return - echo "query:next:acquire:lock" await lock.acquire() - echo "query:next:iter:dispatch" - await nextSignal.fire() - echo "query:next:iter:dispatch:wait" await wait(ctx[].signal) + if not ctx[].running: + echo "query:next:iter:finished " + iter.finished = true + # return + echo "query:next:iter:res: ", ctx[].res, "\n" if ctx[].res.isErr(): @@ -360,6 +360,9 @@ method query*( let data = qres.data.toSeq() return (?!QueryResponse).ok((key: key, data: data)) + echo "query:next:iter:dispatch" + await nextSignal.fire() + iter.next = next return success iter