guix-play/nix/libstore
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
..
.gitignore nix: Tweak .gitignore files. 2020-06-24 19:55:22 +01:00
build.cc substitute: Cache and reuse connections while substituting. 2020-12-08 22:30:08 +01:00
builtins.cc daemon: Run 'guix perform-download' directly. 2019-09-08 11:49:24 +02:00
builtins.hh daemon: Allow check builds of 'builtin:download' derivations. 2017-01-11 17:06:31 +01:00
derivations.cc Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
derivations.hh Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
gc.cc daemon: Handle EXDEV when moving to trash directory. 2020-06-06 15:43:35 -07:00
globals.cc daemon: Remove 'NIX_LIBEXEC_DIR'. 2019-09-08 11:49:24 +02:00
globals.hh daemon: Remove 'NIX_LIBEXEC_DIR'. 2019-09-08 11:49:24 +02:00
local-store.cc daemon: Factorize substituter agent spawning. 2020-12-08 22:30:08 +01:00
local-store.hh daemon: Factorize substituter agent spawning. 2020-12-08 22:30:08 +01:00
misc.cc daemon: Remove dead code. 2018-03-30 23:42:07 +02:00
misc.hh daemon: Remove dead code. 2018-03-30 23:42:07 +02:00
optimise-store.cc daemon: Correctly handle EMLINK corner case when deduplicating. 2020-06-25 12:29:22 +02:00
pathlocks.cc daemon: ~PathLocks(): Handle exceptions. 2016-05-31 14:25:28 +02:00
pathlocks.hh
references.cc
references.hh
sqlite.cc daemon: Improve the SQLite wrapper API. 2016-10-28 22:30:17 +02:00
sqlite.hh daemon: Improve the SQLite wrapper API. 2016-10-28 22:30:17 +02:00
store-api.cc daemon: Replace "illegal" by "invalid" in error messages. 2019-06-13 00:44:01 +02:00
store-api.hh daemon: Make 'profiles/per-user' non-world-writable. 2019-10-16 22:53:40 +02:00
worker-protocol.hh daemon: Support multiplexed build output. 2018-10-15 22:40:35 +02:00