nix-gh/src/libstore
Eelco Dolstra 6185d25e52
Make 'nix copy --to daemon' run in constant memory (daemon side)
Continuation of 97002b684c. This makes
the daemon use constant memory. For example, it reduces the daemon's
maximum RSS on

  $ nix copy --from ~/my-nix --to daemon /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a

from 264 MiB to 7 MiB.

We now use a TunnelSource to prevent the connection from ending up in
an undefined state if an exception is thrown while the NAR is being
sent.

Issue https://github.com/NixOS/nix/issues/1681.
2018-05-30 13:26:48 +02:00
..
builtins <nix/buildenv.nix>: Ignore dangling symlinks 2018-04-05 20:04:42 +02:00
binary-cache-store.cc decompress(): Use a Source and Sink 2018-03-16 20:35:59 +01:00
binary-cache-store.hh move the parallel-compression setting to binary-cache-store, the setting 2018-02-07 21:06:11 +01:00
build.cc Don't set a CA assertion for paths with references 2018-05-03 14:49:56 +02:00
builtins.hh Make <nix/buildenv.nix> a builtin builder 2018-03-20 17:28:09 +01:00
crypto.cc binary-cache-public-keys -> trusted-public-keys 2017-11-20 17:32:34 +01:00
crypto.hh Revert "Get rid of unicode quotes (#1140)" 2016-11-26 00:38:01 +01:00
derivations.cc Add build-extra-platforms setting 2018-02-27 00:27:58 +00:00
derivations.hh Replace a few bool flags with enums 2017-07-03 11:38:08 +02:00
download.cc libstore/download: remove unused function "getTime()" 2018-05-25 19:49:45 -05:00
download.hh make sure not to use cached channels for nix-channel --update 2018-05-09 16:18:20 +02:00
export-import.cc Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
fs-accessor.hh nix ls-{nar,store}: Return offset of files in the NAR if known 2017-12-07 01:07:07 +01:00
gc.cc rand() -> random(), since we use srandom(). 2018-03-06 17:44:25 -06:00
globals.cc initPlugins: Fix dlopen error message. 2018-04-11 21:02:50 -04:00
globals.hh globals.hh: don't use '==' to compare string literals 2018-04-23 20:57:05 -05:00
http-binary-cache-store.cc Cleanup 2018-01-31 15:14:03 +01:00
legacy-ssh-store.cc Make 'nix copy --to ssh://...' run in constant memory 2018-03-21 23:13:06 +01:00
local-binary-cache-store.cc Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
local-fs-store.cc Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
local-store.cc LocalStore::addToStore: Throw an exception if no hash is given 2018-05-30 13:25:40 +02:00
local-store.hh Fix #1921 2018-04-13 15:42:35 +02:00
local.mk Support multi-part uploads for large NARs that exceed the size of 2018-05-07 14:23:51 +01:00
machines.cc Allow shorter syntax for chroot stores 2017-10-24 15:32:38 +02:00
machines.hh Replace $NIX_REMOTE_SYSTEMS with an option "builder-files" 2017-05-02 15:46:09 +02:00
misc.cc Call queryMissing() prior to building 2017-08-31 16:05:07 +02:00
nar-accessor.cc Provide random access to cached NARs 2017-12-07 01:07:07 +01:00
nar-accessor.hh Fix build on gcc 7 2017-12-16 00:49:31 +01:00
nar-info-disk-cache.cc rename the options to mention it's a narinfo TTL as disk cache is used all over the place for other operations 2018-04-06 11:05:15 +01:00
nar-info-disk-cache.hh HttpBinaryCacheStore: Fix caching of WantMassQuery 2016-06-01 16:24:17 +02:00
nar-info.cc Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
nar-info.hh Make the store directory a member variable of Store 2016-06-01 16:24:17 +02:00
nix-store.pc.in Fix perl-bindings 2018-04-10 13:11:43 +02:00
optimise-store.cc rand() -> random(), since we use srandom(). 2018-03-06 17:44:25 -06:00
pathlocks.cc Fix 'deadlock: trying to re-acquire self-held lock' 2018-02-12 17:06:06 +01:00
pathlocks.hh Fix 'deadlock: trying to re-acquire self-held lock' 2018-02-12 17:06:06 +01:00
profiles.cc Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
profiles.hh Allow setting the state directory as a store parameter 2016-06-02 16:02:48 +02:00
references.cc Fix some random -Wconversion warnings 2018-05-02 13:56:34 +02:00
references.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
remote-fs-accessor.cc Provide random access to cached NARs 2017-12-07 01:07:07 +01:00
remote-fs-accessor.hh Provide random access to cached NARs 2017-12-07 01:07:07 +01:00
remote-store.cc Make 'nix copy --to daemon' run in constant memory (daemon side) 2018-05-30 13:26:48 +02:00
remote-store.hh Make 'nix copy --to daemon' run in constant memory 2018-03-21 23:42:52 +01:00
s3-binary-cache-store.cc Remove mention of default since we already know the default 2018-05-10 12:06:28 +02:00
s3-binary-cache-store.hh Fix getS3Stats() 2016-10-06 17:00:52 +02:00
s3.hh Add a "profile" option to S3BinaryCacheStore 2017-11-15 14:18:20 +01:00
sandbox-defaults.sb Remove extraneous comment 2017-11-08 16:17:32 +01:00
sandbox-minimal.sb Always use the Darwin sandbox 2017-06-06 18:44:49 +02:00
sandbox-network.sb OS X sandbox: Improve builtin sandbox profile 2017-05-31 17:25:51 +02:00
schema.sql Mark content-addressed paths in the Nix database and in .narinfo 2016-08-10 18:05:35 +02:00
serve-protocol.hh LegacySSHStore: Include signatures etc. 2017-09-08 16:55:27 +02:00
sqlite.cc Use extended SQLite error codes 2018-05-30 13:25:03 +02:00
sqlite.hh Use boost::format from the boost package 2018-03-14 19:24:04 +01:00
ssh-store.cc Make 'nix copy --from ssh://...' run in constant memory 2018-03-21 23:10:40 +01:00
ssh.cc SSHMaster: Optionally pass -v to ssh 2018-03-20 15:30:55 +01:00
ssh.hh Disallow SSH host names starting with a dash 2017-08-16 20:55:58 +02:00
store-api.cc ValidPathInfo::isContentAddressed(): Ensure there are no references 2018-03-29 12:27:42 +02:00
store-api.hh Reduce substitution memory consumption 2018-03-16 20:35:59 +01:00
worker-protocol.hh Make 'nix copy --to daemon' run in constant memory (daemon side) 2018-05-30 13:26:48 +02:00