[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 15/42: server: New procedure for making the arguments to
From: |
gnunet |
Subject: |
[gnunet-scheme] 15/42: server: New procedure for making the arguments to make-loop. |
Date: |
Sat, 10 Sep 2022 19:08:08 +0200 |
This is an automated email from the git hooks/post-receive script.
maxime-devos pushed a commit to branch master
in repository gnunet-scheme.
commit a543420dbbf1e397527f7e0d644cf0e2c3c1937f
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Thu Sep 8 22:40:15 2022 +0200
server: New procedure for making the arguments to make-loop.
Space savings! ... actually, one extra line, but once CADET is
converted it should be good again.
* gnu/gnunet/server.scm (server->loop-arguments): New procedure.
* gnu/gnunet/nse/client.scm (connect)[loop]: Use it.
* gnu/gnunet/dht/client.scm (connect)[loop]: Likewise.
---
gnu/gnunet/dht/client.scm | 24 +++++++++++-------------
gnu/gnunet/nse/client.scm | 28 +++++++++++++---------------
gnu/gnunet/server.scm | 7 ++++++-
3 files changed, 30 insertions(+), 29 deletions(-)
diff --git a/gnu/gnunet/dht/client.scm b/gnu/gnunet/dht/client.scm
index 992e3d7..7b25a65 100644
--- a/gnu/gnunet/dht/client.scm
+++ b/gnu/gnunet/dht/client.scm
@@ -87,7 +87,7 @@
make-loop loop:control-channel loop:connected
loop:disconnected loop:configuration loop:service-name
loop:spawner loop:terminal-condition loop:lost-and-found
- loop:control-channel run-loop)
+ loop:control-channel run-loop server->loop-arguments)
(only (guile)
pk define-syntax-rule define* lambda* error
->bool and=>)
@@ -754,18 +754,16 @@ code automatically tries to reconnect, so @var{connected}
can be called after
@var{disconnected}. This procedure returns a DHT server object."
(define server (make-server))
(define loop
- (make-loop
- #:make-message-handlers make-message-handlers
- #:make-error-handler* make-error-handler*/loop
- #:control-message-handler control-message-handler
- #:terminal-condition (server-terminal-condition server)
- #:configuration config
- #:service-name "dht"
- #:control-channel (server-control-channel server)
- #:lost-and-found (losable-lost-and-found server)
- #:spawn spawn
- #:connected connected
- #:disconnected disconnected #:spawn spawn))
+ (apply make-loop
+ #:make-message-handlers make-message-handlers
+ #:make-error-handler* make-error-handler*/loop
+ #:control-message-handler control-message-handler
+ #:configuration config
+ #:service-name "dht"
+ #:spawn spawn
+ #:connected connected
+ #:disconnected disconnected #:spawn spawn
+ (server->loop-arguments server)))
(spawn (lambda () (run-loop loop empty-bbtree empty-bbtree)))
server)
diff --git a/gnu/gnunet/nse/client.scm b/gnu/gnunet/nse/client.scm
index 9092ba5..3eca4a8 100644
--- a/gnu/gnunet/nse/client.scm
+++ b/gnu/gnunet/nse/client.scm
@@ -70,7 +70,7 @@
server-control-channel
make-error-handler*/loop
handle-control-message!
- <loop> run-loop
+ <loop> run-loop server->loop-arguments
loop:connected loop:disconnected
loop:control-channel loop:terminal-condition)
(only (gnu gnunet nse struct)
@@ -203,19 +203,17 @@ shortly after calling @var{disconnected}.
The procedures @var{updated}, @var{connected} and @var{disconnected} are
optional."
(define server (%make-server))
(define loop
- (make-loop:nse
- #:make-message-handlers make-message-handlers
- #:make-error-handler* make-error-handler*/loop
- #:control-message-handler control-message-handler
- #:service-name "nse"
- #:terminal-condition (server-terminal-condition server)
- #:configuration config
- #:control-channel (server-control-channel server)
- #:lost-and-found (losable-lost-and-found server)
- #:connected connected
- #:disconnected disconnected
- #:spawn spawn
- #:estimate/box (server-estimate/box server)
- #:updated updated))
+ (apply make-loop:nse
+ #:make-message-handlers make-message-handlers
+ #:make-error-handler* make-error-handler*/loop
+ #:control-message-handler control-message-handler
+ #:service-name "nse"
+ #:configuration config
+ #:connected connected
+ #:disconnected disconnected
+ #:spawn spawn
+ #:estimate/box (server-estimate/box server)
+ #:updated updated
+ (server->loop-arguments server)))
(spawn (lambda () (run-loop loop)))
server)))
diff --git a/gnu/gnunet/server.scm b/gnu/gnunet/server.scm
index be592dd..d169813 100644
--- a/gnu/gnunet/server.scm
+++ b/gnu/gnunet/server.scm
@@ -25,7 +25,7 @@
<server> server-terminal-condition server-control-channel
make-disconnect!
handle-control-message!
- <loop> make-loop
+ <loop> make-loop server->loop-arguments
loop:connected loop:disconnected loop:terminal-condition
loop:control-channel loop:configuration loop:service-name
loop:spawner loop:lost-and-found run-loop)
@@ -198,6 +198,11 @@ asynchronuous request; it won't be fulfilled immediately."
spawn terminal-condition control-channel
lost-and-found connected disconnected)))))
+ (define (server->loop-arguments server)
+ (list #:terminal-condition (server-terminal-condition server)
+ #:control-channel (server-control-channel server)
+ #:lost-and-found (losable-lost-and-found server)))
+
(define (handle-control-message! message mq terminal-condition
k/reconnect!)
"The following messages are handled:
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 29/42: doc/service-communication: Document <server>., (continued)
- [gnunet-scheme] 29/42: doc/service-communication: Document <server>., gnunet, 2022/09/10
- [gnunet-scheme] 20/42: server: Add default arguments to 'make-loop'., gnunet, 2022/09/10
- [gnunet-scheme] 25/42: server: Re-indent., gnunet, 2022/09/10
- [gnunet-scheme] 31/42: doc/service-communication: Document spawn-server-loop., gnunet, 2022/09/10
- [gnunet-scheme] 11/42: dht: Use <loop> for state where possible., gnunet, 2022/09/10
- [gnunet-scheme] 13/42: dht/client: Rewrite in terms of (gnu gnunet server)., gnunet, 2022/09/10
- [gnunet-scheme] 12/42: Revert "server: Only accept a single 'state' argument.", gnunet, 2022/09/10
- [gnunet-scheme] 16/42: cadet/client: Avoid (mutating) hash tables., gnunet, 2022/09/10
- [gnunet-scheme] 05/42: dht/client: Bring API of reconnect mostly in line with (gnu gnunet server)., gnunet, 2022/09/10
- [gnunet-scheme] 28/42: server: Inline primitive-disconnect!., gnunet, 2022/09/10
- [gnunet-scheme] 15/42: server: New procedure for making the arguments to make-loop.,
gnunet <=
- [gnunet-scheme] 17/42: cadet/client: Use <loop> for various objects where possible., gnunet, 2022/09/10
- [gnunet-scheme] 27/42: cadet/client: Simplify more., gnunet, 2022/09/10
- [gnunet-scheme] 23/42: dht/client: Re-indent., gnunet, 2022/09/10
- [gnunet-scheme] 22/42: nse/indent: Re-indent., gnunet, 2022/09/10
- [gnunet-scheme] 26/42: server: Inline single-use server->loop-arguments., gnunet, 2022/09/10
- [gnunet-scheme] 24/42: cadet/client: Re-indent., gnunet, 2022/09/10
- [gnunet-scheme] 33/42: server: Document 'make-loop'., gnunet, 2022/09/10
- [gnunet-scheme] 30/42: doc/service-communication: Document the control loop., gnunet, 2022/09/10
- [gnunet-scheme] 18/42: cadet/client: Rewrite with run-loop., gnunet, 2022/09/10
- [gnunet-scheme] 32/42: server: Add type checking to make-loop., gnunet, 2022/09/10