mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-20 06:28:55 +00:00
work around windows - no without
This commit is contained in:
parent
26809823ed
commit
9dcf56b5f5
@ -30,9 +30,10 @@ proc prove*[H](
|
|||||||
self: AsyncCircomCompat, input: ProofInputs[H]
|
self: AsyncCircomCompat, input: ProofInputs[H]
|
||||||
): Future[?!CircomProof] {.async.} =
|
): Future[?!CircomProof] {.async.} =
|
||||||
## Generates proof using circom-compat asynchronously
|
## Generates proof using circom-compat asynchronously
|
||||||
##
|
let queueRes = newSignalQueue[?!CircomProof](maxItems = 1)
|
||||||
without queue =? newSignalQueue[?!CircomProof](maxItems = 1), err:
|
if queueRes.isErr:
|
||||||
return (?!CircomProof).err(err)
|
return failure queueRes.error()
|
||||||
|
let queue = queueRes.get()
|
||||||
|
|
||||||
proc spawnTask() =
|
proc spawnTask() =
|
||||||
self.tp.spawn proveTask(self.circom, input, queue)
|
self.tp.spawn proveTask(self.circom, input, queue)
|
||||||
@ -83,7 +84,9 @@ proc verify*[H](
|
|||||||
|
|
||||||
success(verified)
|
success(verified)
|
||||||
|
|
||||||
proc init*(_: type AsyncCircomCompat, params: CircomCompatParams, tp: Taskpool): AsyncCircomCompat =
|
proc init*(
|
||||||
|
_: type AsyncCircomCompat, params: CircomCompatParams, tp: Taskpool
|
||||||
|
): AsyncCircomCompat =
|
||||||
## Create a new async circom
|
## Create a new async circom
|
||||||
##
|
##
|
||||||
let circom = CircomCompat.init(params)
|
let circom = CircomCompat.init(params)
|
||||||
|
@ -35,8 +35,7 @@ proc newSignalQueue*[T](
|
|||||||
let queue = cast[ptr SignalQueue[T]](allocShared0(sizeof(SignalQueue[T])))
|
let queue = cast[ptr SignalQueue[T]](allocShared0(sizeof(SignalQueue[T])))
|
||||||
let sigRes = ThreadSignalPtr.new()
|
let sigRes = ThreadSignalPtr.new()
|
||||||
if sigRes.isErr():
|
if sigRes.isErr():
|
||||||
let msg: string = sigRes.error()
|
return failure((ref CatchableError)(msg: sigRes.error()))
|
||||||
return failure((ref CatchableError)(msg: msg))
|
|
||||||
else:
|
else:
|
||||||
queue[].signal = sigRes.get()
|
queue[].signal = sigRes.get()
|
||||||
queue[].chan.open(maxItems)
|
queue[].chan.open(maxItems)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user