diff options
author | Vova Kryachko <v.kryachko@gmail.com> | 2024-11-24T18·33-0500 |
---|---|---|
committer | Vladimir Kryachko <v.kryachko@gmail.com> | 2024-11-24T22·21+0000 |
commit | e9acde3c42f56e21e4cdacdf2386b62cbb9032e4 (patch) | |
tree | e0057807beb964c3843e49a065081bb492e144f5 /tvix/nix-compat/src/nix_daemon/mod.rs | |
parent | 8ef9ba82a8b15312b4ddd16c030124ec1fd685a4 (diff) |
feat(tvix/nix-daemon): New operation AddToStoreNar r/8964
This operation is particularly used when invoking the following nix commands: ``` nix-store --add-fixed some-path nix-store --add-fixed --recursive some-path ``` Change-Id: I0f9b129c838c00e10415881f1e6e0d7bc1d7a3a6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12800 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/nix-compat/src/nix_daemon/mod.rs')
-rw-r--r-- | tvix/nix-compat/src/nix_daemon/mod.rs | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tvix/nix-compat/src/nix_daemon/mod.rs b/tvix/nix-compat/src/nix_daemon/mod.rs index ce56934896be..b1fd15c04ed1 100644 --- a/tvix/nix-compat/src/nix_daemon/mod.rs +++ b/tvix/nix-compat/src/nix_daemon/mod.rs @@ -3,8 +3,9 @@ pub mod worker_protocol; use std::io::Result; use futures::future::try_join_all; +use tokio::io::AsyncRead; use tracing::warn; -use types::{QueryValidPaths, UnkeyedValidPathInfo}; +use types::{AddToStoreNarRequest, QueryValidPaths, UnkeyedValidPathInfo}; use crate::store_path::StorePath; @@ -60,6 +61,14 @@ pub trait NixDaemonIO: Sync { Ok(result) } } + + fn add_to_store_nar<R>( + &self, + request: AddToStoreNarRequest, + reader: &mut R, + ) -> impl std::future::Future<Output = Result<()>> + Send + where + R: AsyncRead + Send + Unpin; } #[cfg(test)] @@ -89,6 +98,17 @@ mod tests { ) -> std::io::Result<Option<UnkeyedValidPathInfo>> { Ok(None) } + + async fn add_to_store_nar<R>( + &self, + _request: super::types::AddToStoreNarRequest, + _reader: &mut R, + ) -> std::io::Result<()> + where + R: tokio::io::AsyncRead + Send + Unpin, + { + Ok(()) + } } #[tokio::test] |