rework ds

This commit is contained in:
Jaremy Creechley 2023-08-28 18:04:59 -07:00
parent 353dfe1f18
commit e89b383304
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300
2 changed files with 4 additions and 11 deletions

View File

@ -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"

View File

@ -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))