about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/docs/src/TODO.md9
1 files changed, 7 insertions, 2 deletions
diff --git a/tvix/docs/src/TODO.md b/tvix/docs/src/TODO.md
index 8788d18d8c7e..b0fdc68a8b6d 100644
--- a/tvix/docs/src/TODO.md
+++ b/tvix/docs/src/TODO.md
@@ -75,8 +75,13 @@ correctness:
    This is somewhat the "spiritual counterpart" to our sequential ingestion
    code (`ConcurrentBlobUploader`, used by `ingest_nar`), which keeps
    "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`.
+   Our seekable NAR AsyncRead implementation already removes most complexity in
+   rendering everything between blobs.
+   It should be possible to extend / write a wrapped version of it that
+   prefetches a configurable sliding window of blobs.
+   Per-blob prefetching itself is somewhat blocked until the {Chunk/Blob}Service
+   split is done, as then prefetching there would only be a matter of adding it
+   into the one `BlobReader`.
 
 ### Error cleanup
  - Currently, all services use tvix_castore::Error, which only has two kinds