FA-27762 / HTTP ranges / Member archive
A delta downloader reuses matching local blocks and fetches the rest with batched ranges: a short local tail block is not a reusable full block · case 02
A delta downloader reuses matching local blocks and fetches the rest with batched ranges: a short local tail block is not a reusable full block.
Case contract
x has remote total length, block size, one remote digest per block (the last block may be short), local digests per local block with the local file length, and a per-request range limit R>=1. Reject nonpositive block size, negative total, or a manifest whose count is not ceil(total/block). Only complete local blocks may be copied; a full remote block whose digest occurs at any local position is copied from the first such complete local block as [dest-offset,source-offset,length]. The short final remote block is always fetched. Missing bytes form maximal adjacent inclusive runs, sent in consecutive batches of at most R ranges. Return [copies,Range values].
Why this case matters
Range responses combine representation identity, conditional requests, framing, and partial-object state.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| local-short-block fixture 7 | [[[4, 0, 4]], ["bytes=0-3"]] | [[], ["bytes=0-7"]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗