create backend

This commit is contained in:
Jaremy Creechley 2023-08-24 21:18:22 -07:00
parent ef32d38f58
commit 591b7f1fd4
No known key found for this signature in database
GPG Key ID: 4E66FB67B21D3300
3 changed files with 12 additions and 7 deletions

View File

@ -85,9 +85,11 @@ proc newSharedDataStore*(
res[].signal = ThreadSignalPtr.new().valueOr:
return failure newException(DatastoreError, "error creating signal")
echo "sds:res: ", res.repr
res.createThreadDatastore(backend)
await wait(res[].signal)
res[].signal.close()
echo "\nnewSharedDataStore:state: ", res[].state.repr
echo "\nnewSharedDataStore:value: ", res[].value[].backend.repr
success self

View File

@ -53,7 +53,7 @@ type
ThreadDatastore* = object
tp: Taskpool
backendDatastore: ThreadBackendKind
backend*: ThreadBackendKind
ThreadDatastorePtr* = SharedPtr[ThreadDatastore]
@ -62,6 +62,10 @@ type
TestPtr* = SharedPtr[Test]
var
fsDatastore {.threadvar.}: FSDatastore ##\
## TODO: figure out a better way to capture this?
proc newThreadResult*[T](tp: typedesc[T]): TResult[T] =
newSharedPtr(ThreadResult[T])
@ -86,7 +90,7 @@ proc startupDatastore(
ignoreProtected = backend.ignoreProtected
)
if ds.isOk:
# ret[].value[].backendDatastore = ds.get()
fsDatastore = ds.get()
ret[].state = Success
else:
ret[].state = Error
@ -94,13 +98,12 @@ proc startupDatastore(
ret[].state = Success
of TestBackend:
echo "startupDatastore: TestBackend"
ret[].value[].backendDatastore = TestBackend
ret[].value[].backend = TestBackend
ret[].state = Success
else:
discard
echo "startupDatastore: signal"
discard ret[].signal.fireSync().get()
echo "startupDatastore: signal", ret[].signal.fireSync().get()
proc getTask*(
self: ThreadDatastorePtr,

View File

@ -21,7 +21,7 @@ suite "Test Basic SharedDatastore":
kind: TestBackend,
)
let sds = await newSharedDataStore(backend)
echo "sds: ", repr sds
# echo "sds: ", repr sds
# suite "Test Basic FSDatastore":
# let