mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-09 09:03:07 +00:00
rework ds
This commit is contained in:
parent
353dfe1f18
commit
e89b383304
@ -120,6 +120,7 @@ proc newSharedDataStore*[T: Datastore](
|
||||
echo "\nnewDataStore: threadId:", getThreadId()
|
||||
# GC_ref(ds)
|
||||
res[].value[].ds = ds
|
||||
res.createThreadDatastore()
|
||||
await wait(res[].signal)
|
||||
finally:
|
||||
echo "closing signal"
|
||||
|
||||
@ -129,20 +129,12 @@ proc put*(
|
||||
|
||||
tds[].tp.spawn putTask(ret, tds[].backend, bkey, bval)
|
||||
|
||||
proc createThreadDatastore*(
|
||||
ret: TResult[ThreadDatastorePtr],
|
||||
backend: ThreadBackend,
|
||||
) =
|
||||
|
||||
proc createThreadDatastore*(ret: ThreadDatastorePtr): Result[void, ref CatchableError] =
|
||||
try:
|
||||
echo "createThreadDatastore: start"
|
||||
ret[].value[].tp = Taskpool.new(num_threads = 2)
|
||||
ret[].value[].tp.spawn startupDatastore(ret, backend)
|
||||
ret[].tp = Taskpool.new(num_threads = 2)
|
||||
echo "createThreadDatastore: done"
|
||||
ret[].state = Success
|
||||
|
||||
except Exception as exc:
|
||||
ret[].state = Error
|
||||
ret[].error = exc.toBuffer()
|
||||
discard
|
||||
return err((ref DatastoreError)(msg: exc.msg))
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user