refactor(tvix/glue/builtins/import): refactor
This removes all the intermediate helper functions and reorganizes the import code to only do the calculations where/when needed, and hopefully makes things easier to understand as well. Change-Id: I7e4c89c742bf8569b45e303523f7f801da7127ea Reviewed-on: https://cl.tvl.fyi/c/depot/+/12627 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Jörg Thalheim <joerg@thalheim.io> Reviewed-by: edef <edef@edef.eu>
This commit is contained in:
parent
baebe29bab
commit
ca1e628c85
6 changed files with 206 additions and 233 deletions
|
|
@ -77,20 +77,6 @@ correctness:
|
|||
"some amount of outgoing bytes" in memory.
|
||||
This is somewhat blocked until the {Chunk/Blob}Service split is done, as then
|
||||
prefetching would only be a matter of adding it into the one `BlobReader`.
|
||||
- The import builtins (`builtins.path` and `builtins.filterSource`) use(d) some
|
||||
helper functions in TvixStoreIO that deals with constructing the `PathInfo`
|
||||
structs and inserting them, but some of the abstractions where probably done
|
||||
at the wrong layer:
|
||||
- Some ways of importing calculate the NAR representation twice
|
||||
- The code isn't very usable from other consumers that also create structs
|
||||
`PathInfo`.
|
||||
- `node_to_path_info` is ony called by `register_in_path_info_service` (due
|
||||
to this marked as private for now).
|
||||
Instead of fighting these abstractions, maybe it's best to explicitly add the
|
||||
code back to the two builtins, remove redundant calls and calculations. A
|
||||
later phase could then see how/if some of this can be reasonably factored out in
|
||||
a way it's also usable for other places having a node and wanting to persist
|
||||
it (if at all).
|
||||
|
||||
### Error cleanup
|
||||
- Currently, all services use tvix_castore::Error, which only has two kinds
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue