nix-super/src/libstore
John Ericson f7b8f8aff6 Introduce separate Serve protocol serialisers
To start, it is just a clone of the common protocol. But now that we
have the separate protocol implementations, we can add versioning
information without the versions of one protocol leaking into another.

Using the infrastructure from the previous commit, we don't have to
duplicate code for shared behavior.

Motivation: No more perverse incentives. [0] did some awkward things
because the serialisers did not store the version. I don't want anyone
making changes to be pushed towards keeping the serialization logic with
the core data types just because it's easier or the alternative is
tedious.

The actual versioning of the Worker and Serve protocol serialisers
(Common remains unversioned as the underlying mini-protocols are not
versioned) will happen in subsequent commits / PRs.

[0]: fe1f34fa60
2023-10-10 11:52:45 -04:00
..
build Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
builtins Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
tests Introduce separate Serve protocol serialisers 2023-10-10 11:52:45 -04:00
binary-cache-store.cc Simplify ContentAddress 2023-07-07 07:30:01 -04:00
binary-cache-store.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
build-result.cc Test the rest of the worker protocol serializers 2023-10-04 15:31:52 -04:00
build-result.hh Test the rest of the worker protocol serializers 2023-10-04 15:31:52 -04:00
builtins.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
ca-specific-schema.sql ca: add sqlite index on RealisationsRefs(realisationReference) 2022-04-21 10:06:39 +02:00
common-protocol-impl.hh Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
common-protocol.cc Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
common-protocol.hh Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
content-address.cc Fixing #7479 2023-08-18 11:44:00 -04:00
content-address.hh Fixing #7479 2023-08-18 11:44:00 -04:00
crypto.cc Make sodium a required dependency 2021-01-06 17:56:53 +01:00
crypto.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
daemon.cc Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
daemon.hh Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
derivations.cc Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
derivations.hh Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
derived-path-map.cc Revert "Adapt scheduler to work with dynamic derivations" 2023-10-01 23:43:12 -04:00
derived-path-map.hh Revert "Adapt scheduler to work with dynamic derivations" 2023-10-01 23:43:12 -04:00
derived-path.cc Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
derived-path.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
downstream-placeholder.cc Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
downstream-placeholder.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
dummy-store.cc Push getFSAccessor unsupported(...) down Store class hierarchy 2023-04-13 13:39:44 -04:00
dummy-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
export-import.cc Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
filetransfer.cc FileTransfer::download: fix use-after-move 2023-08-11 12:00:31 +02:00
filetransfer.hh Allow tarball URLs to redirect to a lockable immutable URL 2023-06-13 14:17:45 +02:00
fs-accessor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
gc-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
gc.cc Put functional tests in tests/functional 2023-10-06 09:05:56 -04:00
globals.cc Split OptionalPathSetting from PathSetting 2023-06-18 23:31:18 -04:00
globals.hh Merge pull request #8706 from fricklerhandwerk/doc-system-features 2023-09-26 04:21:31 +02:00
http-binary-cache-store.cc Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
http-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
indirect-root-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
legacy-ssh-store.cc Introduce separate Serve protocol serialisers 2023-10-10 11:52:45 -04:00
legacy-ssh-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
length-prefixed-protocol-helper.hh Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
local-binary-cache-store.cc Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
local-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
local-fs-store.cc getBuildLog: factor out resolving derivations 2022-12-15 15:58:54 -05:00
local-fs-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
local-store.cc Fix misread of source if path is already valid 2023-08-07 10:27:40 +02:00
local-store.hh LocalStore::verifyPath: Use StorePathSet for store local var 2023-07-31 12:44:18 -04:00
local-store.md Tweaks 2023-03-23 15:32:59 +01:00
local.mk Dedup some markdown -> C++ big literal stuff in build system 2023-05-15 10:38:11 -04:00
lock.cc Move enabled experimental feature to libutil struct 2023-03-20 11:05:22 -04:00
lock.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
log-store.cc Move the getBuildLog implementation to its own implementation file 2023-01-13 11:05:44 +01:00
log-store.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
machines.cc Remove std::string alias (for real this time) 2022-02-25 16:13:02 +01:00
machines.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
make-content-addressed.cc Merge pull request #8650 from obsidiansystems/content-address-simpler 2023-07-21 13:46:53 +02:00
make-content-addressed.hh makeContentAddressed: Add single path helper 2023-06-30 18:22:47 +02:00
misc.cc Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
names.cc return string_views from forceString* 2022-01-27 17:15:43 +01:00
names.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
nar-accessor.cc Add explicit case statements where -Wswitch-enum would report them 2023-04-03 18:17:32 +02:00
nar-accessor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
nar-info-disk-cache.cc Use "raw pattern" for content address types 2023-03-30 17:12:49 -04:00
nar-info-disk-cache.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
nar-info.cc Make "NAR info file is corrupt" messages more informative 2023-04-18 14:10:49 +02:00
nar-info.hh Merge remote-tracking branch 'upstream/master' into path-info 2023-04-07 20:39:04 -04:00
nix-store.pc.in Fix building with GCC 9 2023-02-10 18:38:57 +01:00
optimise-store.cc Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
outputs-spec.cc Fixing #7479 2023-08-18 11:44:00 -04:00
outputs-spec.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
parsed-derivations.cc Merge pull request #3600 from NixOS/auto-uid-allocation 2022-11-29 14:01:42 +01:00
parsed-derivations.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
path-info.cc Simplify ContentAddress 2023-07-07 07:30:01 -04:00
path-info.hh Merge remote-tracking branch 'upstream/master' into path-info 2023-04-07 20:39:04 -04:00
path-references.cc Make RewritingSink accept a map of rewrites 2023-05-24 14:11:50 +02:00
path-references.hh Make RewritingSink accept a map of rewrites 2023-05-24 14:11:50 +02:00
path-regex.hh StorePath: reject names starting with '.' 2023-10-04 22:10:52 +00:00
path-with-outputs.cc Fixing #7479 2023-08-18 11:44:00 -04:00
path-with-outputs.hh Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
path.cc StorePath: reject names starting with '.' 2023-10-04 22:10:52 +00:00
path.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
pathlocks.cc Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
pathlocks.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
profiles.cc src/libstore/profiles.cc: fix comparison of sign difference 2023-09-25 17:45:57 +01:00
profiles.hh Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
realisation.cc libstore: also pass unwanted outputs to the post-build-hook 2023-05-08 12:58:59 +02:00
realisation.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
remote-fs-accessor.cc Replace src/libutil/json.cc with nlohmann json generation 2022-11-16 16:50:50 +01:00
remote-fs-accessor.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
remote-store-connection.hh Make RemoteStore::ConnectionHandle part of class and expose 2023-07-24 09:17:01 -04:00
remote-store.cc Special-case error message to add extra information 2023-09-07 10:39:37 -04:00
remote-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
repair-flag.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
s3-binary-cache-store.cc Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
s3-binary-cache-store.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
s3-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
s3.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
schema.sql schema.sql: add comment about hash being in base16 2022-06-01 14:59:57 +02:00
serve-protocol-impl.hh Introduce separate Serve protocol serialisers 2023-10-10 11:52:45 -04:00
serve-protocol.cc Introduce separate Serve protocol serialisers 2023-10-10 11:52:45 -04:00
serve-protocol.hh Introduce separate Serve protocol serialisers 2023-10-10 11:52:45 -04:00
sqlite.cc Support opening local store with database on read-only filesystem (#8356) 2023-06-20 11:34:09 +02:00
sqlite.hh Support opening local store with database on read-only filesystem (#8356) 2023-06-20 11:34:09 +02:00
ssh-store-config.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
ssh-store.cc Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
ssh-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
ssh.cc Pass common ssh options in isMasterRunning 2023-06-13 00:55:34 -03:00
ssh.hh Fix ControlMaster behaviour 2023-05-16 18:50:09 +04:00
store-api.cc Add infra for experimental store implemenations 2023-08-02 15:46:38 -04:00
store-api.hh Merge pull request #8706 from fricklerhandwerk/doc-system-features 2023-09-26 04:21:31 +02:00
store-cast.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
uds-remote-store.cc Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
uds-remote-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
uds-remote-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
worker-protocol-impl.hh Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
worker-protocol.cc Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00
worker-protocol.hh Factor out bits of the worker protocol to use elsewhere 2023-10-09 16:55:12 -04:00