refactor(tvix/*store/sled): make ::new() more generic
We don't really require the Path to be a PathBuf, we don't even require it to be a Path, we only need it to be AsRef<Path>>. This removes some conversion in the from_addr cases, which can just reuse `url.path()` (a `&str`). Change-Id: I38d536dbaf0b44421e41f211a9ad2b13605179e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10258 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
This commit is contained in:
parent
9748543f1c
commit
ccaf10b4a6
6 changed files with 10 additions and 11 deletions
|
|
@ -63,7 +63,7 @@ pub async fn from_addr(
|
|||
));
|
||||
}
|
||||
return Ok(Arc::new(
|
||||
SledPathInfoService::new(url.path().into(), blob_service, directory_service)
|
||||
SledPathInfoService::new(url.path(), blob_service, directory_service)
|
||||
.map_err(|e| Error::StorageError(e.to_string()))?,
|
||||
));
|
||||
} else if url.scheme() == "nix+http" || url.scheme() == "nix+https" {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ use crate::nar::calculate_size_and_sha256;
|
|||
use crate::proto::PathInfo;
|
||||
use futures::{stream::iter, Stream};
|
||||
use prost::Message;
|
||||
use std::{path::PathBuf, pin::Pin, sync::Arc};
|
||||
use std::{path::Path, pin::Pin, sync::Arc};
|
||||
use tonic::async_trait;
|
||||
use tracing::warn;
|
||||
use tvix_castore::proto as castorepb;
|
||||
|
|
@ -21,8 +21,8 @@ pub struct SledPathInfoService {
|
|||
}
|
||||
|
||||
impl SledPathInfoService {
|
||||
pub fn new(
|
||||
p: PathBuf,
|
||||
pub fn new<P: AsRef<Path>>(
|
||||
p: P,
|
||||
blob_service: Arc<dyn BlobService>,
|
||||
directory_service: Arc<dyn DirectoryService>,
|
||||
) -> Result<Self, sled::Error> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue