Skip to content

Use SDK parallel ranged downloads for large file saves #82

Description

@goanpeca

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority: mediumMedium prioritysdk-paritySDK capability not yet exposed in the extension UI

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions