Conversation
Contributor
Author
Sockets exact-pin successorHead UNVERIFIED - full source-only moratorium remained in force; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Completes the source-only concrete HTTP client on the public checked-out bounded-pool owner.
Related to #1.
Current source head
HTTP Client
710ecba54f5e2e315faad4e563a9aea40b30497dis the current pre-launch source head.Per the 2026-08-11 principal ruling, every
Package.swiftdependency followsbranch: "main"until tag launch on 14 September. Exact SHAs belong only in the frozen graph receipt.Requirement map:
swift-http-body:revision: "0f670ceb05701fbaaea9141342ba295d20ca4ee8"→branch: "main"swift-pool-primitives:revision: "b7c710c945b7c8467b4521c3a2d5b00539275593"→branch: "main"swift-io:revision: "271da4dee53063379776337a6a3b1be21751babb"→branch: "main"swift-sockets:revision: "74a57fa388e07e09f985fee89075577993c75c5b"→branch: "main"swift-tls:revision: "e27e99f5c841170593dde7b0396e9090a7515f62"→branch: "main"The corrective successor changes only
Package.swift. All N5 source, products, targets, and settings remain unchanged;Package.resolvedremains untouched.Pool and exchange ownership
The private
swift-pools/Pool.Leasefacade and now-unusedEitherdependency are removed.HTTP.ClientstoresPool.Bounded<Connection>directly and checks out the deliberately non-Sendable handle bysending.Connection, its nominal operation, and its result are move-only. One attempt consumes one move-only request and returns a sending move-only response. Every checked-out handle is consumed byresolve: reusable and invalid success carry the response through terminal pool cleanup, while failure carries the typed client error through invalidation. Concurrent shutdown therefore cannot erase an already-produced response.The connection operation is not
@Sendable: it belongs to the exclusively checked-out move-only connection and is never independently shared. Retry policy remains@Sendablebecause it is reusable immutable policy over copyable request-head/error state.Retry disposition
Only
.noneis replayable: HTTP Client retains the copyable request head and reconstructs one fresh body-free request for each eligible idempotent attempt..bytesand.streamare consumed by exactly one attempt because HTTP Body exposes no producer-owned replay factory. No request is copied, retained after consumption, captured by a reusable closure, or hidden in a box.Architecture constraints
TLS.Peer.Identityremains the sole DNS-query/hostname relation. No private pool facade, compatibility lease, SPI, trait, publicwith*API, unchecked conformance, request box, or local stream wrapper was added.UNVERIFIED — full source-only moratorium: no build, test, resolve, update, clean, run, compose, verify, typecheck, lint, compiler probe, CI read/watch/poll, or
Package.resolvedoperation was performed.