From 54910b5bd8956acaf8241da5d3a8b7d2b7fefd0c Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 13 Mar 2025 16:50:42 +0100 Subject: [PATCH] refactor(tvix/castore/directory/redb): borrow in putter We don't need an owned version of the database, a reference is sufficient. Change-Id: I84d10ad39c1db28f4f1dda26514c04418db48a27 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13261 Autosubmit: flokli Tested-by: BuildkiteCI Reviewed-by: edef --- tvix/castore/src/directoryservice/redb.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tvix/castore/src/directoryservice/redb.rs b/tvix/castore/src/directoryservice/redb.rs index 246d64173..cb951c4af 100644 --- a/tvix/castore/src/directoryservice/redb.rs +++ b/tvix/castore/src/directoryservice/redb.rs @@ -165,16 +165,16 @@ impl DirectoryService for RedbDirectoryService { } #[instrument(skip_all)] - fn put_multiple_start(&self) -> Box { + fn put_multiple_start(&self) -> Box { Box::new(RedbDirectoryPutter { - db: self.db.clone(), + db: &self.db, directory_validator: Some(Default::default()), }) } } -pub struct RedbDirectoryPutter { - db: Arc, +pub struct RedbDirectoryPutter<'a> { + db: &'a Database, /// The directories (inside the directory validator) that we insert later, /// or None, if they were already inserted. @@ -182,7 +182,7 @@ pub struct RedbDirectoryPutter { } #[async_trait] -impl DirectoryPutter for RedbDirectoryPutter { +impl DirectoryPutter for RedbDirectoryPutter<'_> { #[instrument(level = "trace", skip_all, fields(directory.digest=%directory.digest()), err)] async fn put(&mut self, directory: Directory) -> Result<(), Error> { match self.directory_validator {