snix/tvix/castore/src
Yureka daada1b2fa refactor(castore/directory): separate order logic from ClosureValidator
ClosureValidator was previously only suitable for a very narrow use case:
Validating incoming uploads, which are in leaves-to-root order.
This is because the ordering validation was hard-wired into the add()
function.
This
- Re-name ClosureValidator to DirectoryGraph, which is more suitable
  since it actually stores the Directory structs and is drained in the end.
- Move the ordering-related logic to a separate OrderValidator, which
  can be used independently.
- re-write DirectoryGraph to be a general purpose
  validator which can accept the input in both orders
  and can be drained in both orders as well.

This means the DirectoryGraph and OrderValidator can now serve
multiple new purposes:
- Validating the incoming closure on the client while downloading.
- Validating the incoming closure downloaded in a caching layer from the
  `far` cache, and re-order it for insertion into the `near` cache.

Change-Id: I2b4b226348416912d7a31935bec050e53d911b70
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11708
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: yuka <yuka@yuka.dev>
2024-06-16 05:01:07 +00:00
..
blobservice refactor(tvix/castore/blobservice/memory): use parking_lot RwLock 2024-05-11 15:09:33 +00:00
directoryservice refactor(castore/directory): separate order logic from ClosureValidator 2024-06-16 05:01:07 +00:00
fs refactor(tvix/castore): move src/fs/test into fuse mod 2024-05-26 19:46:47 +00:00
import feat(tvix/store/bin): add progress bar infrastructure 2024-06-06 09:43:24 +00:00
proto refactor(castore/directory): separate order logic from ClosureValidator 2024-06-16 05:01:07 +00:00
tests refactor(tvix/castore/import): make module, split off fs and error 2024-04-20 14:14:19 +00:00
digests.rs feat(tvix/castore): impl Debug for B3Digest 2024-03-17 22:18:20 +00:00
errors.rs refactor(tvix/castore/error): drop From<PoisonError<T>> for Error 2024-05-11 15:09:33 +00:00
fixtures.rs refactor(tvix): condense long bytestrings 2023-10-27 07:37:26 +00:00
hashing_reader.rs refactor(tvix/castore/hashing_reader): migrate to rstest 2024-04-07 14:51:47 +00:00
lib.rs feat(tvix/castore): expose PathBuf too 2024-05-01 19:10:49 +00:00
path.rs feat(tvix/castore/path): implement PathBuf::from_host_path 2024-05-02 13:28:29 +00:00
tonic.rs refactor(tvix/castore/tonic): migrate to rstest 2024-04-07 14:51:47 +00:00