about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPicnoir <picnoir@alternativebit.fr>2024-03-19T13·34+0100
committerpicnoir picnoir <picnoir@alternativebit.fr>2024-03-19T16·51+0000
commit09e5f1782ca7da085ffc58654be51e73160968c8 (patch)
tree63e5cb8ca574e464b18188636db336e6b2646f0b
parentbbb3d4cc40013833d76ee9d99255385b6deceba2 (diff)
feat(tvix/nix-compat): introduce magic hello/response r/7741
Setting the wire module as public to re-use it from tvix-daemon.

Change-Id: I570cffc480c7b784d813663f77572bbe9d4e8259
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11197
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
-rw-r--r--tvix/nix-compat/src/lib.rs2
-rw-r--r--tvix/nix-compat/src/wire/primitive.rs5
2 files changed, 6 insertions, 1 deletions
diff --git a/tvix/nix-compat/src/lib.rs b/tvix/nix-compat/src/lib.rs
index 60dcbdf25c..d2849cbeae 100644
--- a/tvix/nix-compat/src/lib.rs
+++ b/tvix/nix-compat/src/lib.rs
@@ -5,4 +5,4 @@ pub mod narinfo;
 pub mod nixbase32;
 pub mod nixhash;
 pub mod store_path;
-mod wire;
+pub mod wire;
diff --git a/tvix/nix-compat/src/wire/primitive.rs b/tvix/nix-compat/src/wire/primitive.rs
index ee0f5fc427..e675fcd2d1 100644
--- a/tvix/nix-compat/src/wire/primitive.rs
+++ b/tvix/nix-compat/src/wire/primitive.rs
@@ -4,6 +4,11 @@
 
 use tokio::io::{AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};
 
+// LE-encoded nixc on 64 bits. Because why not.
+pub static MAGIC_HELLO: [u8; 8] = *b"cxin\0\0\0\0";
+// LE-encoded dxio on 64 bits. What's dxio? I have no clue.
+pub static MAGIC_HELLO_RESPONSE: [u8; 8] = *b"oixd\0\0\0\0";
+
 #[allow(dead_code)]
 /// Read a u64 from the AsyncRead (little endian).
 pub async fn read_u64<R: AsyncReadExt + Unpin>(r: &mut R) -> std::io::Result<u64> {