From b564ed9d43f17c620439815b86d2940be197bd47 Mon Sep 17 00:00:00 2001 From: Vova Kryachko Date: Fri, 8 Nov 2024 10:44:27 -0500 Subject: feat(nix-daemon): Implement client handler. This change includes only the basic nix handshake protocol handling and sets up a client session. The only supported operation at this point is SetOptions. Additional operations will be implemented in subsequent cls. Change-Id: I3eccd9e0ceb270c3865929543c702f1491768852 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12743 Autosubmit: Vladimir Kryachko Tested-by: BuildkiteCI Reviewed-by: flokli Reviewed-by: edef Reviewed-by: Brian Olsen --- users/picnoir/tvix-daemon/Cargo.nix | 222 +++++++++++++++++++++++++++++++++++- 1 file changed, 219 insertions(+), 3 deletions(-) (limited to 'users/picnoir/tvix-daemon/Cargo.nix') diff --git a/users/picnoir/tvix-daemon/Cargo.nix b/users/picnoir/tvix-daemon/Cargo.nix index 0a2a18c9c843..04fa57091bf0 100644 --- a/users/picnoir/tvix-daemon/Cargo.nix +++ b/users/picnoir/tvix-daemon/Cargo.nix @@ -1311,6 +1311,13 @@ rec { } ]; + }; + "equivalent" = rec { + crateName = "equivalent"; + version = "1.0.1"; + edition = "2015"; + sha256 = "1malmx5f4lkfvqasz319lq6gb3ddg19yzf9s8cykfsgzdmyq0hsl"; + }; "fiat-crypto" = rec { crateName = "fiat-crypto"; @@ -1596,6 +1603,28 @@ rec { ]; }; + "hashbrown" = rec { + crateName = "hashbrown"; + version = "0.15.1"; + edition = "2021"; + sha256 = "1czsvasi3azv2079fcvbhvpisa16w6fi1mfk8zm2c5wbyqdgr6rs"; + authors = [ + "Amanieu d'Antras " + ]; + features = { + "alloc" = [ "dep:alloc" ]; + "allocator-api2" = [ "dep:allocator-api2" ]; + "compiler_builtins" = [ "dep:compiler_builtins" ]; + "core" = [ "dep:core" ]; + "default" = [ "default-hasher" "inline-more" "allocator-api2" "equivalent" "raw-entry" ]; + "default-hasher" = [ "dep:foldhash" ]; + "equivalent" = [ "dep:equivalent" ]; + "nightly" = [ "allocator-api2?/nightly" "bumpalo/allocator_api" ]; + "rayon" = [ "dep:rayon" ]; + "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" "raw-entry" ]; + "serde" = [ "dep:serde" ]; + }; + }; "heck" = rec { crateName = "heck"; version = "0.5.0"; @@ -1901,6 +1930,34 @@ rec { }; resolvedDefaultFeatures = [ "default" "http1" "server" "service" "tokio" ]; }; + "indexmap" = rec { + crateName = "indexmap"; + version = "2.6.0"; + edition = "2021"; + sha256 = "1nmrwn8lbs19gkvhxaawffzbvrpyrb5y3drcrr645x957kz0fybh"; + dependencies = [ + { + name = "equivalent"; + packageId = "equivalent"; + usesDefaultFeatures = false; + } + { + name = "hashbrown"; + packageId = "hashbrown"; + usesDefaultFeatures = false; + } + ]; + features = { + "arbitrary" = [ "dep:arbitrary" ]; + "borsh" = [ "dep:borsh" ]; + "default" = [ "std" ]; + "quickcheck" = [ "dep:quickcheck" ]; + "rayon" = [ "dep:rayon" ]; + "rustc-rayon" = [ "dep:rustc-rayon" ]; + "serde" = [ "dep:serde" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; "is_terminal_polyfill" = rec { crateName = "is_terminal_polyfill"; version = "1.70.1"; @@ -2299,6 +2356,10 @@ rec { name = "num-traits"; packageId = "num-traits"; } + { + name = "num_enum"; + packageId = "num_enum"; + } { name = "pin-project-lite"; packageId = "pin-project-lite"; @@ -2325,7 +2386,7 @@ rec { name = "tokio"; packageId = "tokio"; optional = true; - features = [ "io-util" "macros" ]; + features = [ "io-util" "macros" "sync" ]; } { name = "tracing"; @@ -2345,13 +2406,14 @@ rec { features = { "async" = [ "tokio" ]; "bytes" = [ "dep:bytes" ]; - "default" = [ "async" "wire" "nix-compat-derive" ]; + "daemon" = [ "tokio" "nix-compat-derive" ]; + "default" = [ "async" "daemon" "wire" "nix-compat-derive" ]; "nix-compat-derive" = [ "dep:nix-compat-derive" ]; "pin-project-lite" = [ "dep:pin-project-lite" ]; "tokio" = [ "dep:tokio" ]; "wire" = [ "tokio" "pin-project-lite" "bytes" ]; }; - resolvedDefaultFeatures = [ "async" "bytes" "default" "nix-compat-derive" "pin-project-lite" "tokio" "wire" ]; + resolvedDefaultFeatures = [ "async" "bytes" "daemon" "default" "nix-compat-derive" "pin-project-lite" "tokio" "wire" ]; }; "nix-compat-derive" = rec { crateName = "nix-compat-derive"; @@ -2455,6 +2517,76 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; + "num_enum" = rec { + crateName = "num_enum"; + version = "0.7.3"; + edition = "2021"; + sha256 = "0yai0vafhy85mvhknzfqd7lm04hzaln7i5c599rhy8mj831kyqaf"; + authors = [ + "Daniel Wagner-Hall " + "Daniel Henry-Mantilla " + "Vincent Esche " + ]; + dependencies = [ + { + name = "num_enum_derive"; + packageId = "num_enum_derive"; + usesDefaultFeatures = false; + } + ]; + features = { + "complex-expressions" = [ "num_enum_derive/complex-expressions" ]; + "default" = [ "std" ]; + "std" = [ "num_enum_derive/std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "num_enum_derive" = rec { + crateName = "num_enum_derive"; + version = "0.7.3"; + edition = "2021"; + sha256 = "0mksna1jj87ydh146gn6jcqkvvs920c3dgh0p4f3xk184kpl865g"; + procMacro = true; + authors = [ + "Daniel Wagner-Hall " + "Daniel Henry-Mantilla " + "Vincent Esche " + ]; + dependencies = [ + { + name = "proc-macro-crate"; + packageId = "proc-macro-crate"; + optional = true; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn"; + features = [ "parsing" ]; + } + ]; + devDependencies = [ + { + name = "syn"; + packageId = "syn"; + features = [ "extra-traits" "parsing" ]; + } + ]; + features = { + "complex-expressions" = [ "syn/full" ]; + "default" = [ "std" ]; + "proc-macro-crate" = [ "dep:proc-macro-crate" ]; + "std" = [ "proc-macro-crate" ]; + }; + resolvedDefaultFeatures = [ "proc-macro-crate" "std" ]; + }; "object" = rec { crateName = "object"; version = "0.36.5"; @@ -2692,6 +2824,23 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "std" ]; }; + "proc-macro-crate" = rec { + crateName = "proc-macro-crate"; + version = "3.2.0"; + edition = "2021"; + sha256 = "0yzsqnavb3lmrcsmbrdjfrky9vcbl46v59xi9avn0796rb3likwf"; + libName = "proc_macro_crate"; + authors = [ + "Bastian Köcher " + ]; + dependencies = [ + { + name = "toml_edit"; + packageId = "toml_edit"; + } + ]; + + }; "proc-macro2" = rec { crateName = "proc-macro2"; version = "1.0.87"; @@ -3772,6 +3921,51 @@ rec { }; resolvedDefaultFeatures = [ "codec" "default" "net" ]; }; + "toml_datetime" = rec { + crateName = "toml_datetime"; + version = "0.6.8"; + edition = "2021"; + sha256 = "0hgv7v9g35d7y9r2afic58jvlwnf73vgd1mz2k8gihlgrf73bmqd"; + authors = [ + "Alex Crichton " + ]; + features = { + "serde" = [ "dep:serde" ]; + }; + }; + "toml_edit" = rec { + crateName = "toml_edit"; + version = "0.22.22"; + edition = "2021"; + sha256 = "1xf7sxfzmnc45f75x302qrn5aph52vc8w226v59yhrm211i8vr2a"; + authors = [ + "Andronik Ordian " + "Ed Page " + ]; + dependencies = [ + { + name = "indexmap"; + packageId = "indexmap"; + features = [ "std" ]; + } + { + name = "toml_datetime"; + packageId = "toml_datetime"; + } + { + name = "winnow"; + packageId = "winnow"; + optional = true; + } + ]; + features = { + "default" = [ "parse" "display" ]; + "parse" = [ "dep:winnow" ]; + "perf" = [ "dep:kstring" ]; + "serde" = [ "dep:serde" "toml_datetime/serde" "dep:serde_spanned" ]; + }; + resolvedDefaultFeatures = [ "default" "display" "parse" ]; + }; "tower" = rec { crateName = "tower"; version = "0.5.1"; @@ -4673,6 +4867,28 @@ rec { ]; }; + "winnow" = rec { + crateName = "winnow"; + version = "0.6.20"; + edition = "2021"; + sha256 = "16y4i8z9vh8hazjxg5mvmq0c5i35wlk8rxi5gkq6cn5vlb0zxh9n"; + dependencies = [ + { + name = "memchr"; + packageId = "memchr"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "debug" = [ "std" "dep:anstream" "dep:anstyle" "dep:is-terminal" "dep:terminal_size" ]; + "default" = [ "std" ]; + "simd" = [ "dep:memchr" ]; + "std" = [ "alloc" "memchr?/std" ]; + "unstable-doc" = [ "alloc" "std" "simd" "unstable-recover" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + }; "zeroize" = rec { crateName = "zeroize"; version = "1.8.1"; -- cgit 1.4.1