File tree Expand file tree Collapse file tree 2 files changed +4
-36
lines changed
Sources/SwiftOCADevice/OCP.1 Expand file tree Collapse file tree 2 files changed +4
-36
lines changed Original file line number Diff line number Diff line change @@ -146,44 +146,12 @@ public enum DeviceApp {
146146 }
147147
148148 try await withThrowingTaskGroup ( of: Void . self) { taskGroup in
149- taskGroup. addTask {
150- print ( " Starting OCP.1 IPv4 stream endpoint \( streamEndpoint) ... " )
151- try await streamEndpoint. run ( )
152- }
153- taskGroup. addTask {
154- print ( " Starting OCP.1 IPv6 stream endpoint \( stream6Endpoint) ... " )
155- try await stream6Endpoint. run ( )
156- }
157- #if os(Linux) || canImport(FlyingSocks)
158- taskGroup. addTask {
159- print ( " Starting OCP.1 IPv4 datagram endpoint \( datagramEndpoint) ... " )
160- try await datagramEndpoint. run ( )
161- }
162- taskGroup. addTask {
163- print ( " Starting OCP.1 IPv6 datagram endpoint \( datagram6Endpoint) ... " )
164- try await datagram6Endpoint. run ( )
165- }
166- if let domainSocketStreamEndpoint {
167- taskGroup. addTask {
168- print ( " Starting OCP.1 domain socket stream endpoint \( domainSocketStreamEndpoint) ... " )
169- try await domainSocketStreamEndpoint. run ( )
170- }
171- }
172- #endif
173- #if os(Linux)
174149 if let domainSocketDatagramEndpoint {
175150 taskGroup. addTask {
176151 print ( " Starting OCP.1 domain socket datagram endpoint \( domainSocketDatagramEndpoint) ... " )
177152 try await domainSocketDatagramEndpoint. run ( )
178153 }
179154 }
180- #endif
181- #if canImport(FlyingSocks)
182- taskGroup. addTask {
183- print ( " Starting OCP.1 WebSocket endpoint \( webSocketEndpoint) ... " )
184- try await webSocketEndpoint. run ( )
185- }
186- #endif
187155 try await taskGroup. next ( )
188156 }
189157 }
Original file line number Diff line number Diff line change @@ -156,9 +156,9 @@ extension Ocp1ControllerInternal {
156156 endpoint. traceMessage ( message, controller: self , direction: . rx)
157157 }
158158
159- let responses = try await messageList. messages. asyncMap { @Sendable message in
159+ let responses = try await messageList. messages. asyncMap { @Sendable [ weak self ] message in
160160 // note for stream connections this will only throw for invalidMessageType
161- try await _handle ( for: endpoint, message: message)
161+ try await self ? . _handle ( for: endpoint, message: message)
162162 }
163163
164164 if messageList. responseRequired {
@@ -180,8 +180,8 @@ extension Ocp1ControllerInternal {
180180 await withTaskGroup ( of: Void . self) { group in
181181 do {
182182 for try await messageList in messages {
183- group. addTask {
184- try ? await self . handle ( for: endpoint, messageList: messageList)
183+ group. addTask { [ weak self ] in
184+ try ? await self ? . handle ( for: endpoint, messageList: messageList)
185185 }
186186 }
187187 } catch Ocp1Error . notConnected {
You can’t perform that action at this time.
0 commit comments