[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
- [GNUnet-SVN] [gnunet-nim] branch master updated (4b7a974 -> a345440),
gnunet <=