[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet-nim] branch master updated: connection to cadet ser
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet-nim] branch master updated: connection to cadet service successful |
Date: |
Sat, 28 Jul 2018 02:26:22 +0200 |
This is an automated email from the git hooks/post-receive script.
lurchi pushed a commit to branch master
in repository gnunet-nim.
The following commit(s) were added to refs/heads/master by this push:
new e8c2962 connection to cadet service successful
e8c2962 is described below
commit e8c2962e6005d1ef08c4ff1e1faf32c3f3b89887
Author: lurchi <address@hidden>
AuthorDate: Sat Jul 28 02:26:01 2018 +0200
connection to cadet service successful
---
asynccadet.nim | 11 +++++++----
gnunet_application.nim | 4 +++-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/asynccadet.nim b/asynccadet.nim
index 6e12712..3cffa40 100644
--- a/asynccadet.nim
+++ b/asynccadet.nim
@@ -48,8 +48,11 @@ proc channelMessageCheckCb(cls: pointer,
result = GNUNET_OK
proc cadetConnectCb(cls: pointer) {.cdecl.} =
- let event = cast[AsyncEvent](cls)
- event.trigger()
+ let app = cast[ptr GnunetApplication](cls)
+ echo "cadetConnectCb"
+ var event: AsyncEvent
+ if app.connectEvents.take("cadet", event):
+ event.trigger()
proc messageHandlers(): array[2, GNUNET_MQ_MessageHandler] =
result = [
@@ -79,8 +82,8 @@ proc sendMessage*(channel: CadetChannel, payload: seq[byte]) =
proc connectCadet*(app: ref GnunetApplication): Future[CadetHandle] =
let future = newFuture[CadetHandle]("connectCadet")
- var event = newAsyncEvent()
- discard GNUNET_SCHEDULER_add_now(cadetConnectCb, addr event)
+ let event = app.connectEvents.mgetOrPut("cadet", newAsyncEvent())
+ discard GNUNET_SCHEDULER_add_now(cadetConnectCb, addr app[])
proc eventCb(fd: AsyncFd): bool =
debug("eventCb")
let cadetHandle = CadetHandle(handle:
GNUNET_CADET_connect(app.configHandle),
diff --git a/gnunet_application.nim b/gnunet_application.nim
index 8612669..fd5420a 100644
--- a/gnunet_application.nim
+++ b/gnunet_application.nim
@@ -11,6 +11,7 @@ type
schedulerDriver: GNUNET_SCHEDULER_Driver
schedulerHandle: ptr GNUNET_SCHEDULER_Handle
configHandle*: ptr GNUNET_CONFIGURATION_Handle
+ connectEvents*: Table[string, AsyncEvent]
proc schedulerAdd(cls: pointer,
task: ptr GNUNET_SCHEDULER_Task,
@@ -66,6 +67,7 @@ proc initGnunetApplication*(configFile: string): ref
GnunetApplication =
set_wakeup: schedulerSetWakeup)
app.schedulerHandle = GNUNET_SCHEDULER_driver_init(addr app.schedulerDriver)
app.configHandle = GNUNET_CONFIGURATION_create()
+ app.connectEvents = initTable[string, AsyncEvent]()
assert(GNUNET_SYSERR != GNUNET_CONFIGURATION_load(app.configHandle,
configFile))
return app
@@ -82,7 +84,7 @@ proc microsecondsUntilTimeout*(app: ref GnunetApplication):
int =
if app.timeoutUs < now.abs_value_us:
debug("app.timeoutUs = ", app.timeoutUs, ", now = ", now.abs_value_us)
return 0
- elif app.timeoutUs == 0xff_ff_ff_ff_ff_ff_ff_ff'u64:
+ elif app.timeoutUs == 0xff_ff_ff_ff_ff_ff_ff_ff'u64: # high(uint64) not
implemented
return -1
return int(min(app.timeoutUs - now.abs_value_us, uint64(high(cint))))
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [gnunet-nim] branch master updated: connection to cadet service successful,
gnunet <=