mirror of
https://github.com/logos-storage/nim-datastore.git
synced 2026-01-07 16:13:07 +00:00
create backend
This commit is contained in:
parent
ef32d38f58
commit
591b7f1fd4
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user