refactor(tvix/castore/directory/grpc_wrapper): use ClosureValidator
This greatly simplifies the code in this function, replacing it with a much better tested (and more capable!) version of the validation logic. It also enables the gRPC server frontend to make use of the DirectoryPutter interface. While this might not be too visible in terms of latency thanks to gRPC streams bursting, it also enables further optimizations later (such as bucketing of directory closures). Change-Id: I21f805aa72377dd5266de3b525905d9f445337d6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11221 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
This commit is contained in:
parent
5f069a3eb8
commit
f7281d8fd5
2 changed files with 19 additions and 89 deletions
|
|
@ -39,7 +39,7 @@ pub struct ClosureValidator {
|
|||
impl ClosureValidator {
|
||||
/// Insert a new Directory into the closure.
|
||||
/// Perform individual Directory validation, validation of insertion order
|
||||
// and size fields.
|
||||
/// and size fields.
|
||||
#[instrument(level = "trace", skip_all, fields(directory.digest=%directory.digest()), err)]
|
||||
pub fn add(&mut self, directory: proto::Directory) -> Result<(), Error> {
|
||||
let digest = directory.digest();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue