mirror of
https://github.com/logos-storage/apatheia.git
synced 2026-04-02 00:23:33 +00:00
asyncTaskMacro
This commit is contained in:
parent
7c86049bdb
commit
9956b3d3a8
@ -10,6 +10,11 @@ proc hasReturnType*(params: NimNode): bool =
|
||||
params[0].kind != nnkEmpty:
|
||||
result = true
|
||||
|
||||
proc getReturnType*(params: NimNode): NimNode =
|
||||
if params != nil and params.len > 0 and params[0] != nil and
|
||||
params[0].kind != nnkEmpty:
|
||||
result = params[0]
|
||||
|
||||
proc firstArgument*(params: NimNode): (NimNode, NimNode) =
|
||||
if params != nil and
|
||||
params.len > 0 and
|
||||
|
||||
@ -14,8 +14,11 @@ macro asyncTask*(p: untyped): untyped =
|
||||
body = p[6]
|
||||
name = repr(procId).strip(false, true, {'*'})
|
||||
|
||||
echo "ASYNC_TASK: name: ", name
|
||||
echo "ASYNC_TASK: params: \n", params.treeRepr
|
||||
echo "\nASYNC_TASK: "
|
||||
echo "name: ", name
|
||||
echo "hasReturnType: ", hasReturnType(params)
|
||||
echo "getReturnType: ", params.getReturnType().treeRepr
|
||||
echo "params: \n", params.treeRepr
|
||||
let tcall = mkCall(ident"test", params)
|
||||
echo "ASYNC_TASK: call: \n", tcall.treeRepr
|
||||
|
||||
@ -25,9 +28,13 @@ type
|
||||
|
||||
proc doHashes*(data: openArray[byte],
|
||||
opts: HashOptions) {.asyncTask.} =
|
||||
|
||||
echo "args: ", args.len()
|
||||
|
||||
proc doHashesRes*(data: openArray[byte],
|
||||
opts: HashOptions): int {.asyncTask.} =
|
||||
echo "args: ", args.len()
|
||||
result = 10
|
||||
|
||||
|
||||
|
||||
when false:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user