mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-02 13:43:11 +00:00
trying out manual futures
This commit is contained in:
parent
8c5eea3ee1
commit
7974dea0aa
@ -174,14 +174,19 @@ proc put*(
|
||||
echoed "spawn put request: ", $getThreadId()
|
||||
# this spawns the taskpool Task
|
||||
# but we can't wait on it directly - we use wait(ret[].sig)
|
||||
echo "\n"
|
||||
tds[].tp.spawn putTask(sig, ret, tds, bkey, bval)
|
||||
|
||||
wait(sig).
|
||||
then(proc () =
|
||||
echo "\n"
|
||||
os.sleep(400)
|
||||
echoed "put request done "
|
||||
var ret = ret
|
||||
let val = ret.convert(void)
|
||||
putRes.complete(val)
|
||||
).cancelled(proc() =
|
||||
echoed "put request cancelled "
|
||||
discard
|
||||
).catch(proc(e: ref CatchableError) =
|
||||
doAssert false, "will not be triggered"
|
||||
@ -193,6 +198,8 @@ proc put*(
|
||||
putRes.complete(res)
|
||||
)
|
||||
|
||||
return putRes
|
||||
|
||||
|
||||
proc deleteTask*(
|
||||
ret: TResult[void],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user