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 <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
This commit is contained in:
Florian Klink 2025-03-13 16:50:42 +01:00 committed by flokli
parent 5618800895
commit 54910b5bd8

View file

@ -165,16 +165,16 @@ impl DirectoryService for RedbDirectoryService {
}
#[instrument(skip_all)]
fn put_multiple_start(&self) -> Box<dyn DirectoryPutter> {
fn put_multiple_start(&self) -> Box<dyn DirectoryPutter + '_> {
Box::new(RedbDirectoryPutter {
db: self.db.clone(),
db: &self.db,
directory_validator: Some(Default::default()),
})
}
}
pub struct RedbDirectoryPutter {
db: Arc<Database>,
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 {