tvl-depot/src/libstore
Eelco Dolstra 2825e05d21
Make adding paths via nix-store --serve run in constant memory
It adds a new operation, cmdAddToStoreNar, that does the same thing as
the corresponding nix-daemon operation, i.e. call addToStore(). This
replaces cmdImportPaths, which has the major issue that it sends the
NAR first and the store path second, thus requiring us to store the
incoming NAR either in memory or on disk until we decide what to do
with it.

For example, this reduces the memory usage of

  $ nix copy --to 'ssh://localhost?remote-store=/tmp/nix' /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79

from 267 MiB to 12 MiB.

Probably fixes #1988.
2018-08-03 21:21:16 +02:00
..
builtins Make <nix/fetchurl.nix> run in constant memory 2018-05-30 13:42:51 +02:00
binary-cache-store.cc Don't require --fallback to recover from disappeared binary cache NARs 2018-06-05 16:04:41 +02:00
binary-cache-store.hh Make LocalBinaryCacheStore::narFromPath() run in constant memory 2018-05-30 13:34:57 +02:00
build.cc Fix #2162: use getaddrinfo instead of curl to preload NSS 2018-06-12 13:05:14 +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 hashDerivationModulo(): Handle chroot stores 2018-06-13 18:00:54 +02:00
derivations.hh Replace a few bool flags with enums 2017-07-03 11:38:08 +02:00
download.cc s3 binary cache: support specifying an endpoint 2018-08-02 08:19:50 -04:00
download.hh Further improve upload messages 2018-06-05 14:37:26 +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 Merge pull request #2234 from symphorien/esrch2 2018-06-18 09:01:55 +02:00
globals.cc Modularize config settings 2018-05-30 13:28:01 +02:00
globals.hh Move evaluator-specific settings out of libstore 2018-05-30 13:29:50 +02:00
http-binary-cache-store.cc Improve binary cache upload messages 2018-06-01 14:14:22 +02:00
legacy-ssh-store.cc Make adding paths via nix-store --serve run in constant memory 2018-08-03 21:21:16 +02:00
local-binary-cache-store.cc Make LocalBinaryCacheStore::narFromPath() run in constant memory 2018-05-30 13:34:57 +02: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 Simplify the callback mechanism 2018-05-30 13:34:37 +02:00
local-store.hh Simplify the callback mechanism 2018-05-30 13:34:37 +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 Simplify the callback mechanism 2018-05-30 13:34:37 +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 Fix optimise-store.cc to skip more paths on macOS 2018-06-14 12:34:55 -04: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 only delete things older than current gen and update logic in doc as 2018-03-01 22:59:00 -05:00
profiles.hh this updates issues that were addressed by people in pr 2018-03-01 21:47:57 -05: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 RemoteStore::addToStore(): Ensure capacity is decreased on exceptions 2018-05-30 13:48:31 +02:00
remote-store.hh Simplify the callback mechanism 2018-05-30 13:34:37 +02:00
s3-binary-cache-store.cc s3 binary cache: support specifying an endpoint 2018-08-02 08:19:50 -04:00
s3-binary-cache-store.hh Fix getS3Stats() 2016-10-06 17:00:52 +02:00
s3.hh s3 binary cache: support specifying an endpoint 2018-08-02 08:19:50 -04: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 Make adding paths via nix-store --serve run in constant memory 2018-08-03 21:21:16 +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: Bypass SSH when connecting to localhost 2018-08-03 21:20:38 +02:00
ssh.hh SSHMaster: Bypass SSH when connecting to localhost 2018-08-03 21:20:38 +02:00
store-api.cc Support escaping in store URIs 2018-08-03 21:20:38 +02:00
store-api.hh Don't require --fallback to recover from disappeared binary cache NARs 2018-06-05 16:04:41 +02:00
worker-protocol.hh Make 'nix copy --to daemon' run in constant memory (daemon side) 2018-05-30 13:26:48 +02:00