gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet-scheme] 221/324: mq-impl/stream: Delay knowing the port.


From: gnunet
Subject: [gnunet-scheme] 221/324: mq-impl/stream: Delay knowing the port.
Date: Tue, 21 Sep 2021 13:24:21 +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 b8183f5894602fd8f848dc8be9772608fc97a647
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Wed Sep 1 20:08:05 2021 +0200

    mq-impl/stream: Delay knowing the port.
    
    * gnu/gnunet/mq-impl/stream.scm
      (prepare-port-message-queue): Remove 'port' argument.
      (prepare-port-message-queue)[start-reader!,start-writer!]:
      Add 'port' argument'
      (port->message-queue): Adjust caller.
---
 gnu/gnunet/mq-impl/stream.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/gnunet/mq-impl/stream.scm b/gnu/gnunet/mq-impl/stream.scm
index 3a34c37..bcee0b0 100644
--- a/gnu/gnunet/mq-impl/stream.scm
+++ b/gnu/gnunet/mq-impl/stream.scm
@@ -260,7 +260,7 @@ an appropriate @code{&undefined-key-error} is raised."
                (retry))))
 
     ;; See 'port->message-queue'.  Also used by connect/fibers.
-    (define* (prepare-port-message-queue port spawn)
+    (define* (prepare-port-message-queue spawn)
       ;; TODO: closing message queues
       (define rcvar (make-repeated-condition))
       (define (interrupt! mq)
@@ -270,7 +270,7 @@ an appropriate @code{&undefined-key-error} is raised."
       ;; it informs the other fiber by signalling the condition and injects
       ;; an appropriate error, unless the other fiber will do it already.
       (define closed-condition (make-condition))
-      (define (start-reader! mq)
+      (define (start-reader! mq port)
        (define-values (key . rest)
          (let/ec escape
            (define wait-op
@@ -289,7 +289,7 @@ an appropriate @code{&undefined-key-error} is raised."
              (handle-input! mq port #:return values))))
        (when (signal-condition! closed-condition)
          (apply inject-error! mq key rest)))
-      (define (start-writer! mq)
+      (define (start-writer! mq port)
        (let/ec escape
          ;; operation for calling the escape continuation when
          ;; when the other fiber detected the connection is broken
@@ -328,9 +328,9 @@ an appropriate @code{&undefined-key-error} is raised."
            (handle-output! mq port wait!)))
        (when (signal-condition! closed-condition)
          (inject-error! mq 'input:regular-end-of-file)))
-      (values (lambda (mq)
-               (spawn (lambda () (start-reader! mq)))
-               (spawn (lambda () (start-writer! mq))))
+      (values (lambda (mq port)
+               (spawn (lambda () (start-reader! mq port)))
+               (spawn (lambda () (start-writer! mq port))))
              ;; Pass this to make-message-queue as the 'sender'.
              interrupt!))
 
@@ -347,10 +347,10 @@ is injected.  A half-duplex port is treated as a broken 
connection.
 XXX: half-duplex connections cannot always be detected
 XXX: Likewise for connect/fibers?"
       (define-values (start-fibers interrupt!)
-       (prepare-port-message-queue port spawn))
+       (prepare-port-message-queue spawn))
       (define mq
        (make-message-queue handlers error-handler interrupt!))
-      (start-fibers mq)
+      (start-fibers mq port)
       mq)
 
     (define* (connect/fibers config service-name handlers error-handler

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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