aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/serve-protocol.hh
diff options
context:
space:
mode:
authorJade Lovelace <lix@jade.fyi>2024-06-17 22:13:24 -0700
committerJade Lovelace <lix@jade.fyi>2024-06-19 19:41:04 -0700
commit50472aa5bea95b9e800df833f4f7ec7691e63807 (patch)
tree2572dfa9158d5ad8203adcf4d456d78da6a7bfa8 /src/libstore/serve-protocol.hh
parentce2b48aa41ed8e6f3eed60a20e3e2afb244457b6 (diff)
libstore: remove operations that are never called by supported clients
I did a whole bunch of `git log -S` to find out exactly when all these things were obsoleted and found the commit in which their usage was removed, which I have added in either the error message or a comment. I've also made *some* of the version checks into static asserts for when we update the minimum supported protocol version. In the end this is not a lot of code we are deleting, but it's code that we will never have to support into the future when we build a protocol bridge, which is why I did it. It is not in the support baseline. Change-Id: Iea3c80795c75ea74f328cf7ede7cbedf8c41926b
Diffstat (limited to 'src/libstore/serve-protocol.hh')
-rw-r--r--src/libstore/serve-protocol.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libstore/serve-protocol.hh b/src/libstore/serve-protocol.hh
index 3f82c8177..742320933 100644
--- a/src/libstore/serve-protocol.hh
+++ b/src/libstore/serve-protocol.hh
@@ -8,6 +8,11 @@ namespace nix {
#define SERVE_MAGIC_1 0x390c9deb
#define SERVE_MAGIC_2 0x5452eecb
+// This must remain at 2.7 (Nix 2.18) forever in Lix, since the protocol
+// versioning is monotonic, so if we ever change it in the future, it will
+// break compatibility with any potential CppNix-originated protocol changes.
+//
+// Lix intends to replace this protocol entirely.
#define SERVE_PROTOCOL_VERSION (2 << 8 | 7)
#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)