From 09e5f1782ca7da085ffc58654be51e73160968c8 Mon Sep 17 00:00:00 2001 From: Picnoir Date: Tue, 19 Mar 2024 14:34:53 +0100 Subject: feat(tvix/nix-compat): introduce magic hello/response 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 --- tvix/nix-compat/src/lib.rs | 2 +- tvix/nix-compat/src/wire/primitive.rs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'tvix') diff --git a/tvix/nix-compat/src/lib.rs b/tvix/nix-compat/src/lib.rs index 60dcbdf25caa..d2849cbeae79 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 ee0f5fc4279d..e675fcd2d106 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: &mut R) -> std::io::Result { -- cgit 1.4.1