Skip to content

feat: add bounded mixed upload and download queue - #19

Merged
hkimw merged 1 commit into
mainfrom
codex/plugin-sdk-transfer-queue-0100-20261004
Oct 4, 2026
Merged

hkimw merged 1 commit into
mainfrom
codex/plugin-sdk-transfer-queue-0100-20261004

Conversation

@hkimw

@hkimw hkimw commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Mixed uploads and downloads can now share a caller-owned queue with bounded chunk scheduling, per-connection admission, pause/resume, rate limits and observable verified completion. Small eligible transfers can progress while large transfers yield, another connection is saturated, or a retry backs off.

The queue reuses the existing upload and artifact verifiers. Only identical chunk operations retry SDK-classified 429/503, network failures and request timeouts within attempt/deadline budgets. Begin, commit and sink operations are never automatically replayed. Progress separates acknowledged, attempted, retried and resumed bytes; 100% remains unverified until a final receipt passes. Upload session limits, partial retention, cancellation and live-instance pause semantics are explicit.

  • Adds public types, two schemas, documentation, independent installed examples, and Node/browser mixed-transfer benchmarks.
  • Local full check passed (330 tests before the final three queue cases); the final focused artifact/queue suite covers 32 cases. Windows/Linux × Node 22/24 CI runs the complete final suite.
  • Real Chrome 154 verified a 2 MiB File upload with pause/resume and lost-ack retry alongside large/small OPFS downloads; all three completed with full verification. A 4 KiB result finished before the large transfer. Evidence is fixture-specific, not a throughput guarantee.
  • This remains the 0.10 development checkout. Public archive and official Docs publication are part of the following integration change.

@hkimw
hkimw merged commit 8f38a29 into main Oct 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant