feat(tvix/store/pathinfosvc): add calculate_nar method
Putting this in the PathInfoService trait makes much more sense, we can have direct control over where/how to cache the results in the implementation. This now requires each PathInfoService to hold pointers to BlobService and DirectoryService. Change-Id: I4faae780d43eae4beeb57bd5e190e6d1a5d3314e Reviewed-on: https://cl.tvl.fyi/c/depot/+/8724 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
8d05c0ceaa
commit
6f85dbfc06
12 changed files with 147 additions and 67 deletions
|
|
@ -18,5 +18,8 @@ pub trait PathInfoService {
|
|||
/// invalid messages.
|
||||
fn put(&self, path_info: proto::PathInfo) -> Result<proto::PathInfo, Error>;
|
||||
|
||||
// TODO: add default impl for nar calculation here, and override from GRPC client!
|
||||
/// Return the nar size and nar sha256 digest for a given root node.
|
||||
/// This can be used to calculate NAR-based output paths,
|
||||
/// and implementations are encouraged to cache it.
|
||||
fn calculate_nar(&self, root_node: &proto::node::Node) -> Result<(u64, [u8; 32]), Error>;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue