snix/tvix/castore/src/directoryservice
Yureka 4801d6bf85 feat(tvix): different service types in one composition
This will be necessary for the PathInfoService composition, as some
PathInfoService implementations require a BlobService & DirectoryService
to ingest into.

Using the Extend trait for creating compositions allows extending the same
composition with configs of various types e.g. BlobStore, DirectoryStore
Generics are moved from the Composition struct to the functions.The storage of
the InstantiatonStates uses the TypeId in the key and a Box<dyn Any> in the
value, which is downcasted to InstantiatonState<T>.

Change-Id: I2af11f26c535029adfb1c62905e0e7c4aaed7b51
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11980
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Tested-by: BuildkiteCI
Autosubmit: yuka <yuka@yuka.dev>
2024-07-19 15:13:37 +00:00
..
tests feat(tvix/store): add ObjectStoreDirectoryService 2024-05-16 16:33:06 +00:00
bigtable.rs feat(tvix): different service types in one composition 2024-07-19 15:13:37 +00:00
combinators.rs feat(tvix): different service types in one composition 2024-07-19 15:13:37 +00:00
directory_graph.rs refactor(castore/directory): separate order logic from ClosureValidator 2024-06-16 05:01:07 +00:00
from_addr.rs refactor(tvix): use composition & registry for from_addr 2024-07-18 19:19:26 +00:00
grpc.rs feat(tvix): different service types in one composition 2024-07-19 15:13:37 +00:00
memory.rs feat(tvix): different service types in one composition 2024-07-19 15:13:37 +00:00
mod.rs feat(tvix/castore): add sled to composition registry 2024-07-18 19:19:10 +00:00
object_store.rs feat(tvix): different service types in one composition 2024-07-19 15:13:37 +00:00
order_validator.rs refactor(castore/directory): separate order logic from ClosureValidator 2024-06-16 05:01:07 +00:00
simple_putter.rs refactor(castore/directory): separate order logic from ClosureValidator 2024-06-16 05:01:07 +00:00
sled.rs feat(tvix): different service types in one composition 2024-07-19 15:13:37 +00:00
traverse.rs feat(tvix/castore/directory/traverse): simplify code 2024-05-13 22:05:59 +00:00
utils.rs feat(tvix/castore/directory/traverse_directory): simplify 2024-05-13 22:05:59 +00:00