[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 14/42: server: Deduplicate make-error-handler*.
From: |
gnunet |
Subject: |
[gnunet-scheme] 14/42: server: Deduplicate make-error-handler*. |
Date: |
Sat, 10 Sep 2022 19:08:07 +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 8512aa4ff7573be7a38a6da9fcae1545464a28ca
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Thu Sep 8 22:31:38 2022 +0200
server: Deduplicate make-error-handler*.
Space savings!
* gnu/gnunet/dht/client.scm (make-error-handler*): Move this ...
* gnu/gnunet/nse/client.scm (make-error-handler*): and this ...
* gnu/gnunet/server.scm (make-error-handler*/loop): ... to here,
adjusting the number of allowed arguments.
---
gnu/gnunet/dht/client.scm | 10 ++--------
gnu/gnunet/nse/client.scm | 9 ++-------
gnu/gnunet/server.scm | 7 ++++++-
3 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/gnu/gnunet/dht/client.scm b/gnu/gnunet/dht/client.scm
index e64c33f..992e3d7 100644
--- a/gnu/gnunet/dht/client.scm
+++ b/gnu/gnunet/dht/client.scm
@@ -81,7 +81,7 @@
(gnu gnunet mq envelope)
(only (gnu gnunet server)
maybe-send-control-message! maybe-send-control-message!*
- make-error-handler maybe-ask* answer
+ make-error-handler*/loop maybe-ask* answer
<server> server-terminal-condition server-control-channel
make-disconnect! handle-control-message!
make-loop loop:control-channel loop:connected
@@ -744,12 +744,6 @@ message header is assumed to be correct."
(make-disconnect! 'distributed-hash-table ; for error messages
server:dht?))
- ;; TODO: duplicated from dht/nse
- (define (make-error-handler* state _1 _2)
- (make-error-handler (loop:connected state) (loop:disconnected state)
- (loop:terminal-condition state)
- (loop:control-channel state)))
-
(define* (connect config #:key (connected values) (disconnected values)
(spawn spawn-fiber))
"Connect to the DHT service, using the configuration @var{config}. The
@@ -762,7 +756,7 @@ code automatically tries to reconnect, so @var{connected}
can be called after
(define loop
(make-loop
#:make-message-handlers make-message-handlers
- #:make-error-handler* make-error-handler*
+ #:make-error-handler* make-error-handler*/loop
#:control-message-handler control-message-handler
#:terminal-condition (server-terminal-condition server)
#:configuration config
diff --git a/gnu/gnunet/nse/client.scm b/gnu/gnunet/nse/client.scm
index b77c32f..9092ba5 100644
--- a/gnu/gnunet/nse/client.scm
+++ b/gnu/gnunet/nse/client.scm
@@ -68,7 +68,7 @@
<server> make-disconnect!
server-terminal-condition
server-control-channel
- make-error-handler
+ make-error-handler*/loop
handle-control-message!
<loop> run-loop
loop:connected loop:disconnected
@@ -163,11 +163,6 @@ timestamp."
((handle! slice) (handle-estimate! slice (loop:estimate/box loop)
(loop:updated loop))))))
- (define (make-error-handler* state)
- (make-error-handler (loop:connected state) (loop:disconnected state)
- (loop:terminal-condition state)
- (loop:control-channel state)))
-
(define (send-start! message-queue)
;; The service only starts sending estimates once
;; /:msg:nse:start is sent.
@@ -210,7 +205,7 @@ The procedures @var{updated}, @var{connected} and
@var{disconnected} are optiona
(define loop
(make-loop:nse
#:make-message-handlers make-message-handlers
- #:make-error-handler* make-error-handler*
+ #:make-error-handler* make-error-handler*/loop
#:control-message-handler control-message-handler
#:service-name "nse"
#:terminal-condition (server-terminal-condition server)
diff --git a/gnu/gnunet/server.scm b/gnu/gnunet/server.scm
index b0c0925..be592dd 100644
--- a/gnu/gnunet/server.scm
+++ b/gnu/gnunet/server.scm
@@ -21,7 +21,7 @@
(define-library (gnu gnunet server)
(export maybe-send-control-message!* maybe-send-control-message!
maybe-ask* answer
- make-error-handler
+ make-error-handler make-error-handler*/loop
<server> server-terminal-condition server-control-channel
make-disconnect!
handle-control-message!
@@ -133,6 +133,11 @@ The type of @var{answer-box} is an implementation detail."
(values))))
error-handler)
+ (define (make-error-handler*/loop loop . _)
+ (make-error-handler
+ (loop:connected loop) (loop:disconnected loop)
+ (loop:terminal-condition loop) (loop:control-channel loop)))
+
(define-record-type (<server> %make-server server?)
(parent <losable>) ; for automatic fibers disposal when the <server> is
unreachable
;; terminal-condition: a disconnect has been requested.
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] branch master updated (f5dc44e -> 58b0a65), gnunet, 2022/09/10
- [gnunet-scheme] 02/42: nse/client: Extract the reconnection loop., gnunet, 2022/09/10
- [gnunet-scheme] 06/42: server: Bring the reconnect loop state into a single structure., gnunet, 2022/09/10
- [gnunet-scheme] 09/42: server: Make #:message-queue a regular argument., gnunet, 2022/09/10
- [gnunet-scheme] 01/42: dht/server: Pass 'spawn' to connect/fibers., gnunet, 2022/09/10
- [gnunet-scheme] 10/42: server: Only accept a single 'state' argument., gnunet, 2022/09/10
- [gnunet-scheme] 08/42: nse/client: Simplify state passing with a new subtype of <loop>., gnunet, 2022/09/10
- [gnunet-scheme] 03/42: dht/client: Extract message handlers., gnunet, 2022/09/10
- [gnunet-scheme] 04/42: dht/client: Eliminate mutation from the control loop., gnunet, 2022/09/10
- [gnunet-scheme] 07/42: server: Rename 'primitive-reconnect' to 'run-loop'., gnunet, 2022/09/10
- [gnunet-scheme] 14/42: server: Deduplicate make-error-handler*.,
gnunet <=
- [gnunet-scheme] 19/42: cadet/client: Minimise imports., gnunet, 2022/09/10
- [gnunet-scheme] 21/42: server: Unify loop spawning., gnunet, 2022/09/10
- [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