[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet-nim] 13/61: connection to cadet service successful
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet-nim] 13/61: connection to cadet service successful |
Date: |
Sat, 13 Apr 2019 13:35:48 +0200 |
This is an automated email from the git hooks/post-receive script.
ng0 pushed a commit to branch master
in repository gnunet-nim.
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
- [GNUnet-SVN] [gnunet-nim] branch master created (now 265eb49), gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 02/61: initial commit, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 03/61: add sample gnunet config, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 05/61: .gitignore: fix typo, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 04/61: .gitignore: ignore the main binary, and nim_cache directory, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 01/61: license for lurchi's code, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 06/61: .gitignore: fix syntax error, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 07/61: add asynccadet code (does not compile yet), gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 19/61: make the cleanup proc the finalizer (no explicit call necessary anymore), gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 13/61: connection to cadet service successful,
gnunet <=
- [GNUnet-SVN] [gnunet-nim] 15/61: use the bundled gnunet.conf, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 20/61: let's try out ports and channels, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 11/61: make cadetConnect an async proc, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 39/61: add shutdown procedure, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 30/61: gitignore: add gnunet generated files and folders, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 27/61: cli option: add option to specify gnunet config, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 14/61: don't use AsyncEvent but store Futures in GnunetApplication, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 22/61: we get notified about an incoming CADET channel (and then we crash), gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 24/61: command line parsing; application code for creating channel, gnunet, 2019/04/13
- [GNUnet-SVN] [gnunet-nim] 17/61: Merge branch 'master' of ssh://gnunet.org/gnunet-nim, gnunet, 2019/04/13