-
Notifications
You must be signed in to change notification settings - Fork 0
[COOL IDEA™] Add bounded streaming write-through path for read→write and copy pipelines #72
Copy link
Copy link
Open
Labels
area:integrationEcho, Graft, and external integration boundariesEcho, Graft, and external integration boundariesarea:readReconstruction, streaming, and byte-range readsReconstruction, streaming, and byte-range readsenhancementNew feature or requestNew feature or requestkind:benchmarkMeasured performance evidenceMeasured performance evidencekind:designDesign contract or executable specificationDesign contract or executable specificationkind:implementationProduction implementation workProduction implementation workpriority:P3Could fixCould fix
Description
Activity
Metadata
Metadata
Assignees
Labels
area:integrationEcho, Graft, and external integration boundariesEcho, Graft, and external integration boundariesarea:readReconstruction, streaming, and byte-range readsReconstruction, streaming, and byte-range readsenhancementNew feature or requestNew feature or requestkind:benchmarkMeasured performance evidenceMeasured performance evidencekind:designDesign contract or executable specificationDesign contract or executable specificationkind:implementationProduction implementation workProduction implementation workpriority:P3Could fixCould fix
Problem
ReferenceStoreread APIs currently materialize selected chunks through&mut impl Writewith callers owning copy loops and chunk-by-chunk bookkeeping. For cross-repo handoff and future Echo/CAS integration, we need a bounded, backpressure-aware stream pipeline that can move bytes from verified source chunks to verified destination readers/writers without per-call allocation churn.Invariant impact
Should preserve deterministic chunk verification, exact byte accounting, and write-boundary proof obligations while avoiding temporary global buffers or unbounded caller-level staging.
Proposed boundary
Keep core should remain chunk-authenticated and policy-checked.
Adapters should own the transfer adapter:
Evidence (current gap)
ReferenceStoreread entrypoints insrc/reference/range_read.rsandsrc/reference/reconstruction.rsonly write to genericWriteoutput.BTreeMap<ChunkId, Box<[u8]>>) insrc/reference/staged_blob.rsandsrc/reference/chunk_staging.rs, which limits practical streaming for very large/continuous producers.Alternatives considered
ReadWritePlan/ChunkPipelineAPIs that return explicit transport receipts and support cancellation.Evidence and acceptance criteria
Failure modes