Summary
The SDK includes parallel/ranged download primitives that can make large file saves faster and more reliable. The VS Code UI should use those paths for large downloads instead of treating every save as a simple single stream.
SDK capability
B2Object.createReadStream(fileId, totalSize, { rangeSize, concurrency, signal })
createParallelDownloadStream(raw, accountInfo, { fileId, totalSize, rangeSize, concurrency, maxRetries, signal }) from @backblaze-labs/b2-sdk/download/parallel
Bucket.download(..., { range, onProgress, signal })
Proposed UI
For Save As / download-to-folder flows, switch large files to the SDK's parallel ranged download path with progress and cancellation. Keep smaller downloads on the simple path if that is simpler and faster.
Acceptance criteria
- Large file downloads use ranged/parallel SDK primitives.
- Users see accurate progress during the full download.
- Cancellation aborts in-flight ranged requests.
- Concurrency/range size are bounded and configurable internally or through settings.
- Tests cover large-file download orchestration and cancellation behavior.
Related
Summary
The SDK includes parallel/ranged download primitives that can make large file saves faster and more reliable. The VS Code UI should use those paths for large downloads instead of treating every save as a simple single stream.
SDK capability
B2Object.createReadStream(fileId, totalSize, { rangeSize, concurrency, signal })createParallelDownloadStream(raw, accountInfo, { fileId, totalSize, rangeSize, concurrency, maxRetries, signal })from@backblaze-labs/b2-sdk/download/parallelBucket.download(..., { range, onProgress, signal })Proposed UI
For Save As / download-to-folder flows, switch large files to the SDK's parallel ranged download path with progress and cancellation. Keep smaller downloads on the simple path if that is simpler and faster.
Acceptance criteria
Related