gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet-nim] branch master updated (4b7a974 -> a345440)


From: gnunet
Subject: [GNUnet-SVN] [gnunet-nim] branch master updated (4b7a974 -> a345440)
Date: Tue, 31 Jul 2018 00:00:47 +0200

This is an automated email from the git hooks/post-receive script.

lurchi pushed a change to branch master
in repository gnunet-nim.

    from 4b7a974  let's try out ports and channels
     new 28cf7ad  add GNUnet configs and scripts for testing
     new a345440  we get notified about an incoming CADET channel (and then we 
crash)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 asynccadet.nim         |  5 ++---
 gnunet.conf            | 53 ++++++++++++++++++++++++++++++++++++++++++++++++--
 gnunet_application.nim | 17 ++++++++++++----
 gnunet_nim.nim         |  3 ++-
 otherpeer.conf         | 50 +++++++++++++++++++++++++++++++++++++++++++++++
 start_peers.sh         | 10 ++++++++++
 stop_peers.sh          |  6 ++++++
 7 files changed, 134 insertions(+), 10 deletions(-)
 create mode 100644 otherpeer.conf
 create mode 100755 start_peers.sh
 create mode 100755 stop_peers.sh

diff --git a/asynccadet.nim b/asynccadet.nim
index 1d4366a..02a852a 100644
--- a/asynccadet.nim
+++ b/asynccadet.nim
@@ -49,7 +49,6 @@ proc channelMessageCheckCb(cls: pointer,
 
 proc cadetConnectCb(cls: pointer) {.cdecl.} =
   let app = cast[ptr GnunetApplication](cls)
-  echo "cadetConnectCb"
   var future: FutureBase
   if app.connectFutures.take("cadet", future):
     let cadetHandle = CadetHandle(handle: 
GNUNET_CADET_connect(app.configHandle),
@@ -72,7 +71,7 @@ proc messageHandlers(): array[2, GNUNET_MQ_MessageHandler] =
 
 proc hashString(port: string): GNUNET_HashCode =
   var port: cstring = port
-  GNUNET_CRYPTO_hash(addr port, port.len(), addr result)
+  GNUNET_CRYPTO_hash(port, csize(port.len()), addr result)
 
 proc sendMessage*(channel: CadetChannel, payload: seq[byte]) =
   let messageLen = uint16(payload.len() + sizeof(GNUNET_MessageHeader))
@@ -91,7 +90,7 @@ proc openPort*(handle: var CadetHandle, port: string): ref 
CadetPort =
   openPort.handle = GNUNET_CADET_open_port(handle.handle,
                                            addr port,
                                            channelConnectCb,
-                                           addr openPort,
+                                           addr openPort[],
                                            nil,
                                            channelDisconnectCb,
                                            addr handlers[0])
diff --git a/gnunet.conf b/gnunet.conf
index 21edfa7..cb8af47 100644
--- a/gnunet.conf
+++ b/gnunet.conf
@@ -1,4 +1,53 @@
+[PATHS]
+GNUNET_HOME = ./gnunet_home
+GNUNET_DATA_HOME = ./gnunet_data_home
+GNUNET_RUNTIME_DIR = ./gnunet_runtime_dir
+GNUNET_USER_RUNTIME_DIR = ./gnunet_user_runtime_dir
+
 [arm]
-START_SYSTEM_SERVICES = YES
-START_USER_SERVICES = YES
+GLOBAL_POSTFIX = -L WARNING -l $GNUNET_HOME/gnunet.log
+
+[cadet]
+GLOBAL_POSTFIX = -L DEBUG
+
+[fs]
+IMMEDIATE_START = NO
+
+[gns]
+IMMEDIATE_START = NO
+
+[hostlist]
+IMMEDIATE_START = NO
+
+[namecache]
+IMMEDIATE_START = NO
+
+[namestore]
+IMMEDIATE_START = NO
+
+[nat]
+IMMEDIATE_START = NO
+
+[nse]
+WORKBITS = 0
+
+[peerinfo]
+USE_INCLUDED_HELLOS = NO
+
+[revocation]
+IMMEDIATE_START = NO
+
+[topology]
+IMMEDIATE_START = NO
+
+[transport]
+PLUGINS = unix
+
+[vpn]
+IMMEDIATE_START = NO
+
+[zonemaster]
+IMMEDIATE_START = NO
 
+[zonemaster-monitor]
+IMMEDIATE_START = NO
diff --git a/gnunet_application.nim b/gnunet_application.nim
index d72069c..d15aca2 100644
--- a/gnunet_application.nim
+++ b/gnunet_application.nim
@@ -19,6 +19,7 @@ proc schedulerAdd(cls: pointer,
   ## callback allowing GNUnet to add a file descriptor to the event loop
   type AddProc = proc(fd: AsyncFD, cb: proc(fd: AsyncFD): bool)
   var app = cast[ptr GnunetApplication](cls)
+  echo "adding fd ", fdi.sock
   let fd = AsyncFD(fdi.sock)
   proc addByInterest(interest: GNUNET_SCHEDULER_EventType, addProc: AddProc) : 
bool =
     result = false
@@ -31,9 +32,14 @@ proc schedulerAdd(cls: pointer,
         fdi.et = interest
         GNUNET_SCHEDULER_task_ready(task, fdi)
       addProc(fd, callback)
-  if addByInterest(GNUNET_SCHEDULER_EventType.GNUNET_SCHEDULER_ET_IN, addRead) 
or
-     addByInterest(GNUNET_SCHEDULER_EventType.GNUNET_SCHEDULER_ET_OUT, 
addWrite):
+  let addReadResult =
+    addByInterest(GNUNET_SCHEDULER_EventType.GNUNET_SCHEDULER_ET_IN, addRead)
+  let addWriteResult =
+    addByInterest(GNUNET_SCHEDULER_EventType.GNUNET_SCHEDULER_ET_OUT, addWrite)
+  echo "added read fd: ", addReadResult, ", added write fd: ", addWriteResult
+  if addReadResult or addWriteResult:
     app.tasks.add(task, fdi)
+    echo "added ok"
     return GNUNET_OK
   error("Cannot add file descriptor because the event type is not supported")
   return GNUNET_SYSERR
@@ -44,16 +50,19 @@ proc schedulerDelete(cls: pointer,
   var app = cast[ptr GnunetApplication](cls)
   var fdi: ptr GNUNET_SCHEDULER_FdInfo
   if app.tasks.take(task, fdi):
+    for v in app.tasks.values():
+      if v.sock == fdi.sock:
+        return GNUNET_OK
     unregister(AsyncFD(fdi.sock))
     return GNUNET_OK
-  error("Cannot remove file descriptor because it has not been added or is 
already gone")
+  echo("Cannot remove file descriptor because it has not been added or is 
already gone")
   return GNUNET_SYSERR
 
 proc schedulerSetWakeup(cls: pointer,
                         dt: GNUNET_TIME_Absolute) {.cdecl.} =
   ## callback allowing GNUnet to set a new wakeup time
   var app = cast[ptr GnunetApplication](cls)
-  debug("setting new timeout: ", dt.abs_value_us)
+  echo("setting new timeout: ", dt.abs_value_us)
   app.timeoutUs = dt.abs_value_us
 
 proc cleanup(app: ref GnunetApplication) =
diff --git a/gnunet_nim.nim b/gnunet_nim.nim
index 65cf0a6..88bc024 100644
--- a/gnunet_nim.nim
+++ b/gnunet_nim.nim
@@ -7,9 +7,10 @@ proc firstTask(gnunetApp: ref GnunetApplication) {.async.} =
   var cadet = await gnunetApp.connectCadet()
   echo "connected"
   let port = cadet.openPort("test")
+  echo "port opened"
   let (finished, channel) = await port.channels.read()
+  echo "incoming connection!"
   if not finished:
-    echo "incoming connection!"
     let (finished, message) = await channel.messages.read()
     if not finished:
       echo "got message: ", message
diff --git a/otherpeer.conf b/otherpeer.conf
new file mode 100644
index 0000000..e0bd90b
--- /dev/null
+++ b/otherpeer.conf
@@ -0,0 +1,50 @@
+[PATHS]
+GNUNET_HOME = ./otherpeer_home
+GNUNET_DATA_HOME = ./otherpeer_data_home
+GNUNET_RUNTIME_DIR = ./otherpeer_runtime_dir
+GNUNET_USER_RUNTIME_DIR = ./otherpeer_user_runtime_dir
+
+[arm]
+GLOBAL_POSTFIX = -L WARNING -l $GNUNET_HOME/gnunet.log
+
+[fs]
+IMMEDIATE_START = NO
+
+[gns]
+IMMEDIATE_START = NO
+
+[hostlist]
+IMMEDIATE_START = NO
+
+[namecache]
+IMMEDIATE_START = NO
+
+[namestore]
+IMMEDIATE_START = NO
+
+[nat]
+IMMEDIATE_START = NO
+
+[nse]
+WORKBITS = 0
+
+[peerinfo]
+USE_INCLUDED_HELLOS = NO
+
+[revocation]
+IMMEDIATE_START = NO
+
+[topology]
+IMMEDIATE_START = NO
+
+[transport]
+PLUGINS = unix
+
+[vpn]
+IMMEDIATE_START = NO
+
+[zonemaster]
+IMMEDIATE_START = NO
+
+[zonemaster-monitor]
+IMMEDIATE_START = NO
diff --git a/start_peers.sh b/start_peers.sh
new file mode 100755
index 0000000..756edac
--- /dev/null
+++ b/start_peers.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+CONFIG_OUR_PEER=gnunet.conf
+CONFIG_OTHER_PEER=otherpeer.conf
+
+gnunet-arm -c $CONFIG_OUR_PEER -s
+echo "our peer: $(gnunet-peerinfo -c ${CONFIG_OUR_PEER} -sq)"
+gnunet-arm -c $CONFIG_OTHER_PEER -s
+echo "other peer: $(gnunet-peerinfo -c ${CONFIG_OTHER_PEER} -sq)"
+gnunet-peerinfo -c $CONFIG_OUR_PEER -p $(gnunet-peerinfo -c $CONFIG_OTHER_PEER 
-g)
+gnunet-peerinfo -c $CONFIG_OTHER_PEER -p $(gnunet-peerinfo -c $CONFIG_OUR_PEER 
-g)
diff --git a/stop_peers.sh b/stop_peers.sh
new file mode 100755
index 0000000..5b6ec38
--- /dev/null
+++ b/stop_peers.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+CONFIG_OUR_PEER=gnunet.conf
+CONFIG_OTHER_PEER=otherpeer.conf
+
+gnunet-arm -c $CONFIG_OUR_PEER -e
+gnunet-arm -c $CONFIG_OTHER_PEER -e

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]