guix-commits
[Top][All Lists]
Advanced

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

10/14: substitute: Remove now redundant connection caching helpers.


From: guix-commits
Subject: 10/14: substitute: Remove now redundant connection caching helpers.
Date: Mon, 22 Feb 2021 15:44:47 -0500 (EST)

cbaines pushed a commit to branch master
in repository guix.

commit 7c85877fdf964694061e3192eac35723ebc047bf
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Thu Jan 7 20:36:58 2021 +0000

    substitute: Remove now redundant connection caching helpers.
    
    Failures now should be handled where they occur, and if there's a problem
    that's symptomatic of an issue with the connection, the port should be 
closed.
    
    * guix/scripts/substitute.scm (call-with-cached-connection): Remove 
procedure.
    (with-cached-connection): Remove syntax rule.
---
 guix/scripts/substitute.scm | 28 ----------------------------
 1 file changed, 28 deletions(-)

diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 5d4884a..a2b1526 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -690,32 +690,6 @@ server certificates."
                     (drain-input socket)
                     socket))))))))
 
-(define* (call-with-cached-connection uri proc
-                                      #:optional
-                                      (open-connection
-                                       open-connection-for-uri/cached))
-  (let ((port (open-connection uri)))
-    (catch #t
-      (lambda ()
-        (proc port))
-      (lambda (key . args)
-        ;; If PORT was cached and the server closed the connection in the
-        ;; meantime, we get EPIPE.  In that case, open a fresh connection and
-        ;; retry.  We might also get 'bad-response or a similar exception from
-        ;; (web response) later on, once we've sent the request, or a
-        ;; ERROR/INVALID-SESSION from GnuTLS.
-        (if (or (and (eq? key 'system-error)
-                     (= EPIPE (system-error-errno `(,key ,@args))))
-                (and (eq? key 'gnutls-error)
-                     (eq? (first args) error/invalid-session))
-                (memq key '(bad-response bad-header bad-header-component)))
-            (proc (open-connection uri #:fresh? #t))
-            (apply throw key args))))))
-
-(define-syntax-rule (with-cached-connection uri port exp ...)
-  "Bind PORT with EXP... to a socket connected to URI."
-  (call-with-cached-connection uri (lambda (port) exp ...)))
-
 (define* (process-substitution store-item destination
                                #:key cache-urls acl
                                deduplicate? print-build-trace?)
@@ -1011,8 +985,6 @@ default value."
 
 ;;; Local Variables:
 ;;; eval: (put 'with-timeout 'scheme-indent-function 1)
-;;; eval: (put 'with-cached-connection 'scheme-indent-function 2)
-;;; eval: (put 'call-with-cached-connection 'scheme-indent-function 1)
 ;;; End:
 
 ;;; substitute.scm ends here



reply via email to

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