guix/guix
Ludovic Courtès 5ff521452b
substitute: Cache and reuse connections while substituting.
That way, when fetching a series of substitutes from the same server(s),
the connection is reused instead of being closed/opened for each
substitutes, which saves on network round trips and TLS handshakes.

* guix/http-client.scm (http-fetch): Add #:keep-alive? and honor it.
* guix/progress.scm (progress-report-port): Add #:close? parameter and
honor it.
* guix/scripts/substitute.scm (at-most): Return the tail as a second
value.
(fetch): Add #:port and #:keep-alive? and honor them.
(%max-cached-connections): New variable.
(open-connection-for-uri/cached, call-with-cached-connection): New
procedures.
(with-cached-connection): New macro.
(process-substitution): Wrap 'fetch' call in 'with-cached-connection'.
Pass #:close? to 'progress-report-port'.
2020-12-08 22:30:08 +01:00
..
build build-system: Add chicken-build-system. 2020-12-03 16:18:33 +01:00
build-system build-system: Add chicken-build-system. 2020-12-03 16:18:33 +01:00
import guix: opam: Add coq support in the importer. 2020-12-08 16:53:07 +01:00
scripts substitute: Cache and reuse connections while substituting. 2020-12-08 22:30:08 +01:00
store database: Remove unnecessary module imports. 2020-12-08 21:40:05 +01:00
tests
android-repo-download.scm
avahi.scm Add Avahi support. 2020-11-29 15:08:26 +01:00
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm
cache.scm
channels.scm channels: Expose the default channel in %default-channel. 2020-11-28 00:06:14 +01:00
ci.scm ci: Add "evaluation" method. 2020-12-07 16:15:55 +01:00
colors.scm
combinators.scm
config.scm.in
cpio.scm linux-initrd: Add special-file->cpio-header*. 2020-11-22 11:03:31 +01:00
cve.scm
cvs-download.scm
deprecation.scm
derivations.scm
describe.scm
diagnostics.scm
discovery.scm
docker.scm
download.scm
elf.scm
ftp-client.scm
gexp.scm gexp: Warn when importing (guix config) or (ice-9 …). 2020-11-05 16:13:50 +01:00
git-authenticate.scm
git-download.scm
git.scm git: 'reference-available?' handles short commit IDs. 2020-12-04 23:45:09 +01:00
glob.scm
gnu-maintenance.scm
gnupg.scm
grafts.scm
graph.scm
hg-download.scm guix: hg-download: Add hg-predicate. 2020-11-14 10:27:00 +00:00
http-client.scm substitute: Cache and reuse connections while substituting. 2020-12-08 22:30:08 +01:00
i18n.scm
inferior.scm
licenses.scm
lint.scm lint: Add 'check-haskell-stackage' checker. 2020-11-21 22:11:36 -05:00
man-db.scm
memoization.scm
modules.scm
monad-repl.scm
monads.scm
nar.scm
openpgp.scm
packages.scm
pki.scm
profiles.scm profiles: Delete duplicate manifest entries in packages->manifest. 2020-12-07 12:48:26 +01:00
profiling.scm
progress.scm substitute: Cache and reuse connections while substituting. 2020-12-08 22:30:08 +01:00
quirks.scm
records.scm
remote.scm
repl.scm
scripts.scm
search-paths.scm
self.scm self: Factorize package dependency enumeration. 2020-12-03 14:34:26 +01:00
serialization.scm
sets.scm
ssh.scm
status.scm
store.scm store: Fix ensure-path docstring. 2020-11-23 14:10:34 +01:00
svn-download.scm
swh.scm
tests.scm
transformations.scm transformations: Show '--help-transform' only where applicable. 2020-11-21 12:39:14 +01:00
ui.scm ui: Handle multiword and empty $PAGER values. 2020-12-05 16:47:59 +01:00
upstream.scm
utils.scm utils: Add 'cxx-for-target'. 2020-11-16 10:26:46 +01:00
workers.scm