[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-nim] 01/02: GNUNET_SCHEDULER_add does not work anymore before fi
From: |
gnunet |
Subject: |
[gnunet-nim] 01/02: GNUNET_SCHEDULER_add does not work anymore before first call to GNUNET_SCHEDULER_do_work |
Date: |
Fri, 10 Jul 2020 18:14:45 +0200 |
This is an automated email from the git hooks/post-receive script.
lurchi pushed a commit to branch master
in repository gnunet-nim.
commit 17b7bf0168c20e3fe39f8bd6be320a468e638961
Author: Christian Ulrich <christian@ulrich.earth>
AuthorDate: Fri Jul 10 18:08:11 2020 +0200
GNUNET_SCHEDULER_add does not work anymore before first call to
GNUNET_SCHEDULER_do_work
---
src/gnunet_nim/cadet.nim | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/src/gnunet_nim/cadet.nim b/src/gnunet_nim/cadet.nim
index b079f52..64991d7 100644
--- a/src/gnunet_nim/cadet.nim
+++ b/src/gnunet_nim/cadet.nim
@@ -140,18 +140,7 @@ proc disconnect(cadetHandle: ptr CadetHandle) =
proc shutdownCb(cls: pointer) {.cdecl.} =
disconnect(cast[ptr CadetHandle](cls))
-proc cadetConnectCb(cls: pointer) {.cdecl.} =
- let app = cast[ptr GnunetApplication](cls)
- var future: FutureBase
- if app.connectFutures.take("cadet", future):
- var cadetHandle: ref CadetHandle
- new(cadetHandle, proc(handle: ref CadetHandle) = disconnect(addr handle[]))
- cadetHandle.handle = GNUNET_CADET_connect(app.configHandle)
- cadetHandle.shutdownTask = GNUNET_SCHEDULER_add_shutdown(shutdownCb,
- addr
cadetHandle[])
- Future[ref CadetHandle](future).complete(cadetHandle)
-
-proc initCadet*(app: ref GnunetApplication): Future[ref CadetHandle] =
- result = newFuture[ref CadetHandle]("connectCadet")
- app.connectFutures.add("cadet", result)
- discard GNUNET_SCHEDULER_add_now(cadetConnectCb, addr app[])
+proc initCadet*(app: ref GnunetApplication): ref CadetHandle =
+ new(result, proc(handle: ref CadetHandle) = disconnect(addr handle[]))
+ result.handle = GNUNET_CADET_connect(app.configHandle)
+ result.shutdownTask = GNUNET_SCHEDULER_add_shutdown(shutdownCb, addr
result[])
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.