refactor(tvix/store): use Box<dyn DirectoryService>
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
This commit is contained in:
parent
6f85dbfc06
commit
7725eb53ad
18 changed files with 144 additions and 126 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue