refactor(tvix/*store): use DS: DirectoryService

We implement DirectoryService for Arc<DirectoryService> and
Box<DirectoryService>, this is sufficient.

Change-Id: I0a5a81cbc4782764406b5bca57f908ace6090737
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11586
Tested-by: BuildkiteCI
Reviewed-by: Connor Brewster <cbrewster@hey.com>
This commit is contained in:
Florian Klink 2024-05-04 22:23:26 +03:00 committed by flokli
parent f2f12d1556
commit ba00f0c695
6 changed files with 23 additions and 29 deletions

View file

@ -84,7 +84,7 @@ pub async fn ingest_archive<BS, DS, R>(
) -> Result<Node, IngestionError<Error>>
where
BS: BlobService + Clone + 'static,
DS: AsRef<dyn DirectoryService>,
DS: DirectoryService,
R: AsyncRead + Unpin,
{
// Since tarballs can have entries in any arbitrary order, we need to

View file

@ -35,7 +35,7 @@ pub async fn ingest_path<BS, DS, P>(
where
P: AsRef<std::path::Path> + std::fmt::Debug,
BS: BlobService + Clone,
DS: AsRef<dyn DirectoryService>,
DS: DirectoryService,
{
let iter = WalkDir::new(path.as_ref())
.follow_links(false)

View file

@ -49,7 +49,7 @@ pub async fn ingest_entries<DS, S, E>(
mut entries: S,
) -> Result<Node, IngestionError<E>>
where
DS: AsRef<dyn DirectoryService>,
DS: DirectoryService,
S: Stream<Item = Result<IngestionEntry, E>> + Send + std::marker::Unpin,
E: std::error::Error,
{
@ -90,7 +90,7 @@ where
// If we don't have one yet (as that's the first one to upload),
// initialize the putter.
maybe_directory_putter
.get_or_insert_with(|| directory_service.as_ref().put_multiple_start())
.get_or_insert_with(|| directory_service.put_multiple_start())
.put(directory)
.await
.map_err(|e| {