This repository was archived by the owner on Aug 12, 2020. It is now read-only.
exporter: Support slicing streams stored in deeply nested DAGs #208
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The previous attempt at this didn't handle larger files where the tree can have multiple tiers of DAGNodes - this PR builds on the existing exporter tree traversal to export slices of streams instead of the whole file (the slice could be the same size of the file of course).
The approach is:
begin
andend
are passed, sanitise & respect them, otherwise use0
and the filesize reported by the root DAGNode to export the whole fileblockSizes
attribute of the DAGNode to work out which DAGLinks we should follow to only retrieve the requested byte rangeblockSizes
attribute to only traverse to the requested data.