Skip to content

Commit 0b4b559

Browse files
committed
move Task creation into TransactionCancelHandler
1 parent 3a60ed6 commit 0b4b559

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Sources/AsyncHTTPClient/AsyncAwait/HTTPClient+execute.swift

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,7 @@ extension HTTPClient {
104104
responseContinuation: continuation
105105
)
106106

107-
// `HTTPClient.Task` conflicts with Swift Concurrency Task and `Swift.Task` doesn't work
108-
_Concurrency.Task {
109-
await cancelHandler.registerTransaction(transaction)
110-
}
107+
cancelHandler.registerTransaction(transaction)
111108

112109
self.poolManager.executeRequest(transaction)
113110
}
@@ -132,7 +129,7 @@ private actor TransactionCancelHandler {
132129

133130
init() {}
134131

135-
func registerTransaction(_ transaction: Transaction) {
132+
private func _registerTransaction(_ transaction: Transaction) {
136133
switch self.state {
137134
case .initialised:
138135
self.state = .register(transaction)
@@ -143,7 +140,13 @@ private actor TransactionCancelHandler {
143140
}
144141
}
145142

146-
func _cancel() {
143+
nonisolated func registerTransaction(_ transaction: Transaction) {
144+
Task {
145+
await self._registerTransaction(transaction)
146+
}
147+
}
148+
149+
private func _cancel() {
147150
switch self.state {
148151
case .register(let bag):
149152
self.state = .cancelled

0 commit comments

Comments
 (0)