refactor(tvix/store/pathinfosvc): drop ByWhat, use digest directly
We currently only support querying by the output hash digest. This makes the interface a bit simpler. Change-Id: I80b285373f1923e85cb0e404c4b15d51a7f259ef Reviewed-on: https://cl.tvl.fyi/c/depot/+/8570 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
71c29d0f4c
commit
e815b680c0
5 changed files with 46 additions and 72 deletions
|
|
@ -31,14 +31,19 @@ impl<
|
|||
) -> Result<Response<proto::PathInfo>> {
|
||||
match request.into_inner().by_what {
|
||||
None => Err(Status::unimplemented("by_what needs to be specified")),
|
||||
Some(by_what) => match self.path_info_service.get(by_what) {
|
||||
Ok(None) => Err(Status::not_found("PathInfo not found")),
|
||||
Ok(Some(path_info)) => Ok(Response::new(path_info)),
|
||||
Err(e) => {
|
||||
warn!("failed to retrieve PathInfo: {}", e);
|
||||
Err(e.into())
|
||||
Some(proto::get_path_info_request::ByWhat::ByOutputHash(digest)) => {
|
||||
let digest: [u8; 20] = digest
|
||||
.try_into()
|
||||
.map_err(|_e| Status::invalid_argument("invalid digest length"))?;
|
||||
match self.path_info_service.get(digest) {
|
||||
Ok(None) => Err(Status::not_found("PathInfo not found")),
|
||||
Ok(Some(path_info)) => Ok(Response::new(path_info)),
|
||||
Err(e) => {
|
||||
warn!("failed to retrieve PathInfo: {}", e);
|
||||
Err(e.into())
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue