Skip to content

feat(cache): allow explicit software packet storage selection - #827

Open
orut34iop wants to merge 1 commit into
superuser404notfound:mainfrom
orut34iop:codex/feat-software-packet-cache-storage
Open

orut34iop wants to merge 1 commit into
superuser404notfound:mainfrom
orut34iop:codex/feat-software-packet-cache-storage

Conversation

@orut34iop

Copy link
Copy Markdown
Contributor

A host cannot currently select a disk packet cache on tvOS or a memory packet cache on other platforms without replacing the platform policy. Add LoadOptions.softwarePacketCacheStorage (automatic, disk, memory) and carry it through the existing load/rebuild path.

automatic retains the policy introduced in #776: purgeable memory on tvOS and disk elsewhere. Explicit disk retains volume/multi-session safeguards and direct playback on cache-initialization failure. Explicit memory keeps the existing forward/history bounds and reclaimable played history. Local direct-file reads, live DVR and native HLS remain unchanged. This is an opt-in host control, not a proposal to revert the measured tvOS default.

The internal factory is the production construction path; tests exercise real stores, disk failure/claim release, default selection and reload-option accounting. Public contract and changelog are included. Byte-budget controls are a separate contribution.

Validation on an Apple Silicon Mac (Mac17,3), macOS 26.7.1 / Swift 6.4:

  • swift build --build-tests passed; executables signed and verified with a valid Apple Development identity.
  • Strict cooperative-pool focused run: 15 tests passed.
  • Full default-traits suite, serial: 795 XCTest (one pre-existing skip), 4,619 Swift Testing tests across 634 suites passed.
  • Documentation links and git diff --check passed.

The default matrix's tvOS leg is conditional test coverage for a tvOS runner; it was not executed by the macOS host run. Platform builds and all-traits tests remain subject to upstream CI. No new device/media performance acceptance is claimed; #776's flash-contention evidence is why the automatic default stays unchanged.

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