about summary refs log tree commit diff
path: root/tvix/store/src/directoryservice/traverse.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-06-09T09·26+0300
committerclbot <clbot@tvl.fyi>2023-06-12T10·24+0000
commit7725eb53ad67730e92a3839a6c10925c668e5586 (patch)
tree82b8abf8e52630039d2a0cd3ae8b251c32e863bd /tvix/store/src/directoryservice/traverse.rs
parent6f85dbfc06c4fa96deb968cfeb7e98ba36e95043 (diff)
refactor(tvix/store): use Box<dyn DirectoryService> r/6272
Once we support configuring services at runtime, we don't know what
DirectoryService we're using at compile time.

This also means, we can't explicitly use the is_closed method from
GRPCPutter, without making it part of the DirectoryPutter itself.

Change-Id: Icd2a1ec4fc5649a6cd15c9cc7db4c2b473630431
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8727
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/directoryservice/traverse.rs')
-rw-r--r--tvix/store/src/directoryservice/traverse.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/tvix/store/src/directoryservice/traverse.rs b/tvix/store/src/directoryservice/traverse.rs
index 8691baa8b73f..c1c0c6f8df64 100644
--- a/tvix/store/src/directoryservice/traverse.rs
+++ b/tvix/store/src/directoryservice/traverse.rs
@@ -10,8 +10,8 @@ use tracing::{instrument, warn};
 /// TODO: the name of this function (and mod) is a bit bad, because it doesn't
 /// clearly distinguish it from the BFS traversers.
 #[instrument(skip(directory_service))]
-pub fn traverse_to<DS: DirectoryService>(
-    directory_service: &DS,
+pub fn traverse_to(
+    directory_service: &Box<dyn DirectoryService>,
     node: crate::proto::node::Node,
     path: &std::path::Path,
 ) -> Result<Option<crate::proto::node::Node>, Error> {
@@ -82,13 +82,9 @@ pub fn traverse_to<DS: DirectoryService>(
 mod tests {
     use std::path::PathBuf;
 
-    use crate::{
-        directoryservice::DirectoryPutter,
-        directoryservice::DirectoryService,
-        tests::{
-            fixtures::{DIRECTORY_COMPLICATED, DIRECTORY_WITH_KEEP},
-            utils::gen_directory_service,
-        },
+    use crate::tests::{
+        fixtures::{DIRECTORY_COMPLICATED, DIRECTORY_WITH_KEEP},
+        utils::gen_directory_service,
     };
 
     use super::traverse_to;