The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of OTPKit, reference main (159b1f), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 10:15:41 UTC.

Swift 6 data race errors: 11

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

110 |
111 |     /// The multicast address used by OTP for advertisement messages.
112 |     static var advertisementMessageHostname: Hostname = "239.159.2.1"
    |                |- warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'advertisementMessageHostname' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'advertisementMessageHostname' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |
114 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:142:16: warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
140 |
141 |     /// The multicast address used by OTP for advertisement messages.
142 |     static var advertisementMessageHostname: Hostname = "ff18::9f:00:02:01"
    |                |- warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'advertisementMessageHostname' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'advertisementMessageHostname' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |
144 |     /**
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:354:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
352 |
353 |             // notify the debug delegate
354 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to multicast") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
355 |
356 |         }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:406:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
404 |
405 |             // notify the debug delegate
406 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending name advertisement message(s) to \(destination.host):\(destination.port)") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
407 |
408 |         } else {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:411:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
409 |
410 |             // notify the debug delegate
411 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending name advertisement message(s) to multicast") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
412 |
413 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:26: warning: capture of 'self' with non-sendable type 'ComponentSocket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 73 | */
 74 |
 75 | class ComponentSocket: NSObject, GCDAsyncUdpSocketDelegate {
    |       `- note: class 'ComponentSocket' does not conform to the 'Sendable' protocol
 76 |
 77 |     /// A globally unique identifier (UUID) representing a `Component`, compliant with RFC 4122.
    :
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |                          `- warning: capture of 'self' with non-sendable type 'ComponentSocket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
292 |             semaphore.signal()
293 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:13: warning: mutation of captured var 'socketType' in concurrently-executing code; this is an error in the Swift 6 language mode
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |             `- warning: mutation of captured var 'socketType' in concurrently-executing code; this is an error in the Swift 6 language mode
292 |             semaphore.signal()
293 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:427:16: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 425 |         // if the timer is currently active then another folio now
 426 |         timerQueue.async {
 427 |             if self.moduleAdvertisementTimer != nil {
     |                `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 428 |                 self.sendModuleAdvertisementMessages()
 429 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:460:16: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 458 |         // if the timer is currently active then another folio now
 459 |         timerQueue.async {
 460 |             if self.moduleAdvertisementTimer != nil {
     |                `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 461 |                 self.sendModuleAdvertisementMessages()
 462 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:580:49: warning: capture of 'self' with non-sendable type 'OTPConsumer?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 578 |                 if let systemNumbers = Self.queue.sync (execute: { self?.producers.flatMap { $0.systemNumbers } }) {
 579 |
 580 |                     self?.delegateQueue.async { self?.consumerDelegate?.discoveredSystemNumbers(Array(Set(systemNumbers))) }
     |                                                 `- warning: capture of 'self' with non-sendable type 'OTPConsumer?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 581 |
 582 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:580:49: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 578 |                 if let systemNumbers = Self.queue.sync (execute: { self?.producers.flatMap { $0.systemNumbers } }) {
 579 |
 580 |                     self?.delegateQueue.async { self?.consumerDelegate?.discoveredSystemNumbers(Array(Set(systemNumbers))) }
     |                                                 `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 581 |
 582 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:977:35: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 975 |
 976 |             // a newly addressed point has appeared or disappeared
 977 |             delegateQueue.async { self.consumerDelegate?.replaceAllPoints(allPoints) }
     |                                   `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 978 |
 979 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:977:75: warning: capture of 'allPoints' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 975 |
 976 |             // a newly addressed point has appeared or disappeared
 977 |             delegateQueue.async { self.consumerDelegate?.replaceAllPoints(allPoints) }
     |                                                                           `- warning: capture of 'allPoints' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 978 |
 979 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Types/Point.swift:157:15: note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
155 | */
156 |
157 | public struct OTPPoint: Comparable, Hashable {
    |               `- note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
158 |
159 |     /// The `OTPAddress` identifying the point.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:985:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 983 |             // at least 1 point has changes
 984 |             if !pointsWithChanges.isEmpty {
 985 |                 delegateQueue.async { self.consumerDelegate?.changes(forPoints: pointsWithChanges) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 986 |             }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:985:81: warning: capture of 'pointsWithChanges' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 983 |             // at least 1 point has changes
 984 |             if !pointsWithChanges.isEmpty {
 985 |                 delegateQueue.async { self.consumerDelegate?.changes(forPoints: pointsWithChanges) }
     |                                                                                 `- warning: capture of 'pointsWithChanges' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 986 |             }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Types/Point.swift:157:15: note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
155 | */
156 |
157 | public struct OTPPoint: Comparable, Hashable {
    |               `- note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
158 |
159 |     /// The `OTPAddress` identifying the point.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1008:35: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1006 |
1007 |         for producer in lostProducers {
1008 |             delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: producer.ipMode, ipAddresses: producer.ipAddresses, sequenceErrors: producer.sequenceErrors, state: .offline)) }
     |                                   `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1009 |         }
1010 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1008:104: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1006 |
1007 |         for producer in lostProducers {
1008 |             delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: producer.ipMode, ipAddresses: producer.ipAddresses, sequenceErrors: producer.sequenceErrors, state: .offline)) }
     |                                                                                                        `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1009 |         }
1010 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1039:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1037 |
1038 |                 // notify the debug delegate
1039 |                 delegateQueue.async { self.debugDelegate?.debugLog("Attempting multicast leave for \(systemNumber)") }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1040 |
1041 |                 // the existing contains this number, but the new does not
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1058:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1056 |
1057 |                 // notify the debug delegate
1058 |                 delegateQueue.async { self.debugDelegate?.debugLog("Attempting multicast join for System \(systemNumber)") }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1059 |
1060 |                 // the new contains this number, but the existing does not
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1183:31: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1181 |
1182 |         // notify the debug delegate
1183 |         delegateQueue.async { self.debugDelegate?.debugLog("Sending module advertisement message(s) multicast") }
     |                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1184 |
1185 |         // increment the folio number
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:60: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                            `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:158: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                              `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:180: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                    `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:282: warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                                                                                                                          `- warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:35:13: note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 33 |
 34 | */
 35 | public enum OTPComponentState: String {
    |             `- note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 36 |
 37 |     /// This component is offline.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:176: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:237: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1337:47: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1335 |
1336 |                         // notify the debug delegate
1337 |                         delegateQueue.async { self.debugDelegate?.debugLog("Received name advertisement message from \(otpLayer.componentName) \(otpLayer.cid)") }
     |                                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1338 |
1339 |                     case .system:
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:60: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                            `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:158: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                              `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:180: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                    `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:282: warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                                                                                                                          `- warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:35:13: note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 33 |
 34 | */
 35 | public enum OTPComponentState: String {
    |             `- note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 36 |
 37 |     /// This component is offline.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:176: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:237: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1403:62: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1401 |
1402 |                             // request names from producers
1403 |                             Self.socketDelegateQueue.async { self.sendNameAdvertisementMessages() }
     |                                                              `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1404 |
1405 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1408:58: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1406 |
1407 |                         // joins newly discovered systems which are observed
1408 |                         Self.socketDelegateQueue.async { self.refreshSystemSubscription() }
     |                                                          `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1409 |
1410 |                         // notify the debug delegate
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1411:47: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1409 |
1410 |                         // notify the debug delegate
1411 |                         delegateQueue.async { self.debugDelegate?.debugLog("Received system advertisement message from \(otpLayer.componentName) \(otpLayer.cid)") }
     |                                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1412 |
1413 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:154: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                          `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:176: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                                                `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:52: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                    `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:121: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                         `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:163: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                                   `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1470:58: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1468 |
1469 |                         // request names from producers
1470 |                         Self.socketDelegateQueue.async { self.sendNameAdvertisementMessages() }
     |                                                          `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1471 |
1472 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1496:52: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1494 |
1495 |                         // notify the delegate
1496 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(producerStatus) }
     |                                                    `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1497 |
1498 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1496:97: warning: capture of 'producerStatus' with non-sendable type 'OTPProducerStatus' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1494 |
1495 |                         // notify the delegate
1496 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(producerStatus) }
     |                                                                                                 `- warning: capture of 'producerStatus' with non-sendable type 'OTPProducerStatus' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1497 |
1498 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:88:15: note: consider making struct 'OTPProducerStatus' conform to the 'Sendable' protocol
 86 | */
 87 |
 88 | public struct OTPProducerStatus: OTPComponentStatus {
    |               `- note: consider making struct 'OTPProducerStatus' conform to the 'Sendable' protocol
 89 |
 90 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1503:43: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1501 |
1502 |                     // there was an error in the otp layer
1503 |                     delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                           `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1504 |
1505 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1510:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1508 |
1509 |                 // there was an error in the advertisement layer
1510 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1511 |
1512 |             } catch let error as ModuleAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1515:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1513 |
1514 |                 // there was an error in the module advertisement layer
1515 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1516 |
1517 |             } catch let error as SystemAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1520:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1518 |
1519 |                 // there was an error in the system advertisement layer
1520 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1521 |
1522 |             } catch let error as NameAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1525:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1523 |
1524 |                 // there was an error in the name advertisement layer
1525 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1526 |
1527 |             } catch let error as TransformLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1530:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1528 |
1529 |                 // there was an error in the transform layer
1530 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1531 |
1532 |             } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1535:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1533 |
1534 |                 // there was an unknown error
1535 |                 delegateQueue.async { self.protocolErrorDelegate?.unknownError(error.localizedDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1536 |
1537 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:40: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:109: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:151: warning: capture of 'newIpMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                                                                                                                                       `- warning: capture of 'newIpMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1613:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1611 |             if self._isConnected != false {
1612 |                 self._isConnected = false
1613 |                 delegateQueue.async { self.consumerDelegate?.disconnected(self, with: error) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1614 |             }
1615 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1626:31: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1624 |     */
1625 |     func debugSocketLog(_ logMessage: String) {
1626 |         delegateQueue.async { self.debugDelegate?.debugSocketLog(logMessage) }
     |                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1627 |     }
1628 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:26: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |                          |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
292 |             semaphore.signal()
293 |         }
[37/38] Compiling OTPKit ComponentStatus.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:342:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 |
341 |             // notify the debug delegate
342 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to \(destination.host):\(destination.port) \(messageData.count)") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
343 |
344 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:342:147: warning: reference to captured var 'messageData' in concurrently-executing code; this is an error in the Swift 6 language mode
340 |
341 |             // notify the debug delegate
342 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to \(destination.host):\(destination.port) \(messageData.count)") }
    |                                                                                                                                                   `- warning: reference to captured var 'messageData' in concurrently-executing code; this is an error in the Swift 6 language mode
343 |
344 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:112:16: warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 |
111 |     /// The multicast address used by OTP for advertisement messages.
112 |     static var advertisementMessageHostname: Hostname = "239.159.2.1"
    |                |- warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'advertisementMessageHostname' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'advertisementMessageHostname' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |
114 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:142:16: warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
140 |
141 |     /// The multicast address used by OTP for advertisement messages.
142 |     static var advertisementMessageHostname: Hostname = "ff18::9f:00:02:01"
    |                |- warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'advertisementMessageHostname' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'advertisementMessageHostname' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |
144 |     /**
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:354:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
352 |
353 |             // notify the debug delegate
354 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to multicast") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
355 |
356 |         }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:406:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
404 |
405 |             // notify the debug delegate
406 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending name advertisement message(s) to \(destination.host):\(destination.port)") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
407 |
408 |         } else {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:411:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
409 |
410 |             // notify the debug delegate
411 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending name advertisement message(s) to multicast") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
412 |
413 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:26: warning: capture of 'self' with non-sendable type 'ComponentSocket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 73 | */
 74 |
 75 | class ComponentSocket: NSObject, GCDAsyncUdpSocketDelegate {
    |       `- note: class 'ComponentSocket' does not conform to the 'Sendable' protocol
 76 |
 77 |     /// A globally unique identifier (UUID) representing a `Component`, compliant with RFC 4122.
    :
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |                          `- warning: capture of 'self' with non-sendable type 'ComponentSocket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
292 |             semaphore.signal()
293 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:13: warning: mutation of captured var 'socketType' in concurrently-executing code; this is an error in the Swift 6 language mode
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |             `- warning: mutation of captured var 'socketType' in concurrently-executing code; this is an error in the Swift 6 language mode
292 |             semaphore.signal()
293 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:427:16: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 425 |         // if the timer is currently active then another folio now
 426 |         timerQueue.async {
 427 |             if self.moduleAdvertisementTimer != nil {
     |                `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 428 |                 self.sendModuleAdvertisementMessages()
 429 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:460:16: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 458 |         // if the timer is currently active then another folio now
 459 |         timerQueue.async {
 460 |             if self.moduleAdvertisementTimer != nil {
     |                `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 461 |                 self.sendModuleAdvertisementMessages()
 462 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:580:49: warning: capture of 'self' with non-sendable type 'OTPConsumer?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 578 |                 if let systemNumbers = Self.queue.sync (execute: { self?.producers.flatMap { $0.systemNumbers } }) {
 579 |
 580 |                     self?.delegateQueue.async { self?.consumerDelegate?.discoveredSystemNumbers(Array(Set(systemNumbers))) }
     |                                                 `- warning: capture of 'self' with non-sendable type 'OTPConsumer?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 581 |
 582 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:580:49: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 578 |                 if let systemNumbers = Self.queue.sync (execute: { self?.producers.flatMap { $0.systemNumbers } }) {
 579 |
 580 |                     self?.delegateQueue.async { self?.consumerDelegate?.discoveredSystemNumbers(Array(Set(systemNumbers))) }
     |                                                 `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 581 |
 582 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:977:35: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 975 |
 976 |             // a newly addressed point has appeared or disappeared
 977 |             delegateQueue.async { self.consumerDelegate?.replaceAllPoints(allPoints) }
     |                                   `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 978 |
 979 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:977:75: warning: capture of 'allPoints' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 975 |
 976 |             // a newly addressed point has appeared or disappeared
 977 |             delegateQueue.async { self.consumerDelegate?.replaceAllPoints(allPoints) }
     |                                                                           `- warning: capture of 'allPoints' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 978 |
 979 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Types/Point.swift:157:15: note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
155 | */
156 |
157 | public struct OTPPoint: Comparable, Hashable {
    |               `- note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
158 |
159 |     /// The `OTPAddress` identifying the point.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:985:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 983 |             // at least 1 point has changes
 984 |             if !pointsWithChanges.isEmpty {
 985 |                 delegateQueue.async { self.consumerDelegate?.changes(forPoints: pointsWithChanges) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 986 |             }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:985:81: warning: capture of 'pointsWithChanges' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 983 |             // at least 1 point has changes
 984 |             if !pointsWithChanges.isEmpty {
 985 |                 delegateQueue.async { self.consumerDelegate?.changes(forPoints: pointsWithChanges) }
     |                                                                                 `- warning: capture of 'pointsWithChanges' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 986 |             }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Types/Point.swift:157:15: note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
155 | */
156 |
157 | public struct OTPPoint: Comparable, Hashable {
    |               `- note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
158 |
159 |     /// The `OTPAddress` identifying the point.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1008:35: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1006 |
1007 |         for producer in lostProducers {
1008 |             delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: producer.ipMode, ipAddresses: producer.ipAddresses, sequenceErrors: producer.sequenceErrors, state: .offline)) }
     |                                   `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1009 |         }
1010 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1008:104: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1006 |
1007 |         for producer in lostProducers {
1008 |             delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: producer.ipMode, ipAddresses: producer.ipAddresses, sequenceErrors: producer.sequenceErrors, state: .offline)) }
     |                                                                                                        `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1009 |         }
1010 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1039:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1037 |
1038 |                 // notify the debug delegate
1039 |                 delegateQueue.async { self.debugDelegate?.debugLog("Attempting multicast leave for \(systemNumber)") }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1040 |
1041 |                 // the existing contains this number, but the new does not
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1058:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1056 |
1057 |                 // notify the debug delegate
1058 |                 delegateQueue.async { self.debugDelegate?.debugLog("Attempting multicast join for System \(systemNumber)") }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1059 |
1060 |                 // the new contains this number, but the existing does not
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1183:31: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1181 |
1182 |         // notify the debug delegate
1183 |         delegateQueue.async { self.debugDelegate?.debugLog("Sending module advertisement message(s) multicast") }
     |                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1184 |
1185 |         // increment the folio number
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:60: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                            `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:158: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                              `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:180: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                    `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:282: warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                                                                                                                          `- warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:35:13: note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 33 |
 34 | */
 35 | public enum OTPComponentState: String {
    |             `- note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 36 |
 37 |     /// This component is offline.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:176: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:237: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1337:47: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1335 |
1336 |                         // notify the debug delegate
1337 |                         delegateQueue.async { self.debugDelegate?.debugLog("Received name advertisement message from \(otpLayer.componentName) \(otpLayer.cid)") }
     |                                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1338 |
1339 |                     case .system:
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:60: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                            `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:158: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                              `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:180: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                    `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:282: warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                                                                                                                          `- warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:35:13: note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 33 |
 34 | */
 35 | public enum OTPComponentState: String {
    |             `- note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 36 |
 37 |     /// This component is offline.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:176: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:237: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1403:62: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1401 |
1402 |                             // request names from producers
1403 |                             Self.socketDelegateQueue.async { self.sendNameAdvertisementMessages() }
     |                                                              `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1404 |
1405 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1408:58: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1406 |
1407 |                         // joins newly discovered systems which are observed
1408 |                         Self.socketDelegateQueue.async { self.refreshSystemSubscription() }
     |                                                          `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1409 |
1410 |                         // notify the debug delegate
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1411:47: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1409 |
1410 |                         // notify the debug delegate
1411 |                         delegateQueue.async { self.debugDelegate?.debugLog("Received system advertisement message from \(otpLayer.componentName) \(otpLayer.cid)") }
     |                                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1412 |
1413 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:154: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                          `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:176: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                                                `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:52: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                    `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:121: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                         `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:163: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                                   `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1470:58: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1468 |
1469 |                         // request names from producers
1470 |                         Self.socketDelegateQueue.async { self.sendNameAdvertisementMessages() }
     |                                                          `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1471 |
1472 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1496:52: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1494 |
1495 |                         // notify the delegate
1496 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(producerStatus) }
     |                                                    `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1497 |
1498 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1496:97: warning: capture of 'producerStatus' with non-sendable type 'OTPProducerStatus' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1494 |
1495 |                         // notify the delegate
1496 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(producerStatus) }
     |                                                                                                 `- warning: capture of 'producerStatus' with non-sendable type 'OTPProducerStatus' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1497 |
1498 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:88:15: note: consider making struct 'OTPProducerStatus' conform to the 'Sendable' protocol
 86 | */
 87 |
 88 | public struct OTPProducerStatus: OTPComponentStatus {
    |               `- note: consider making struct 'OTPProducerStatus' conform to the 'Sendable' protocol
 89 |
 90 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1503:43: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1501 |
1502 |                     // there was an error in the otp layer
1503 |                     delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                           `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1504 |
1505 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1510:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1508 |
1509 |                 // there was an error in the advertisement layer
1510 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1511 |
1512 |             } catch let error as ModuleAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1515:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1513 |
1514 |                 // there was an error in the module advertisement layer
1515 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1516 |
1517 |             } catch let error as SystemAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1520:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1518 |
1519 |                 // there was an error in the system advertisement layer
1520 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1521 |
1522 |             } catch let error as NameAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1525:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1523 |
1524 |                 // there was an error in the name advertisement layer
1525 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1526 |
1527 |             } catch let error as TransformLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1530:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1528 |
1529 |                 // there was an error in the transform layer
1530 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1531 |
1532 |             } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1535:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1533 |
1534 |                 // there was an unknown error
1535 |                 delegateQueue.async { self.protocolErrorDelegate?.unknownError(error.localizedDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1536 |
1537 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:40: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:109: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:151: warning: capture of 'newIpMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                                                                                                                                       `- warning: capture of 'newIpMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1613:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1611 |             if self._isConnected != false {
1612 |                 self._isConnected = false
1613 |                 delegateQueue.async { self.consumerDelegate?.disconnected(self, with: error) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1614 |             }
1615 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1626:31: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1624 |     */
1625 |     func debugSocketLog(_ logMessage: String) {
1626 |         delegateQueue.async { self.debugDelegate?.debugSocketLog(logMessage) }
     |                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1627 |     }
1628 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:26: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |                          |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
292 |             semaphore.signal()
293 |         }
[38/38] Compiling OTPKit Consumer.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:342:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
340 |
341 |             // notify the debug delegate
342 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to \(destination.host):\(destination.port) \(messageData.count)") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
343 |
344 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:342:147: warning: reference to captured var 'messageData' in concurrently-executing code; this is an error in the Swift 6 language mode
340 |
341 |             // notify the debug delegate
342 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to \(destination.host):\(destination.port) \(messageData.count)") }
    |                                                                                                                                                   `- warning: reference to captured var 'messageData' in concurrently-executing code; this is an error in the Swift 6 language mode
343 |
344 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:112:16: warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 |
111 |     /// The multicast address used by OTP for advertisement messages.
112 |     static var advertisementMessageHostname: Hostname = "239.159.2.1"
    |                |- warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'advertisementMessageHostname' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'advertisementMessageHostname' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 |
114 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:142:16: warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
140 |
141 |     /// The multicast address used by OTP for advertisement messages.
142 |     static var advertisementMessageHostname: Hostname = "ff18::9f:00:02:01"
    |                |- warning: static property 'advertisementMessageHostname' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'advertisementMessageHostname' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'advertisementMessageHostname' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |
144 |     /**
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:354:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
352 |
353 |             // notify the debug delegate
354 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending system advertisement message to multicast") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
355 |
356 |         }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:406:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
404 |
405 |             // notify the debug delegate
406 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending name advertisement message(s) to \(destination.host):\(destination.port)") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
407 |
408 |         } else {
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Component.swift:411:35: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
409 |
410 |             // notify the debug delegate
411 |             delegateQueue.async { self.debugDelegate?.debugLog("Sending name advertisement message(s) to multicast") }
    |                                   `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
412 |
413 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:26: warning: capture of 'self' with non-sendable type 'ComponentSocket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 73 | */
 74 |
 75 | class ComponentSocket: NSObject, GCDAsyncUdpSocketDelegate {
    |       `- note: class 'ComponentSocket' does not conform to the 'Sendable' protocol
 76 |
 77 |     /// A globally unique identifier (UUID) representing a `Component`, compliant with RFC 4122.
    :
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |                          `- warning: capture of 'self' with non-sendable type 'ComponentSocket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
292 |             semaphore.signal()
293 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:13: warning: mutation of captured var 'socketType' in concurrently-executing code; this is an error in the Swift 6 language mode
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |             `- warning: mutation of captured var 'socketType' in concurrently-executing code; this is an error in the Swift 6 language mode
292 |             semaphore.signal()
293 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:427:16: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 425 |         // if the timer is currently active then another folio now
 426 |         timerQueue.async {
 427 |             if self.moduleAdvertisementTimer != nil {
     |                `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 428 |                 self.sendModuleAdvertisementMessages()
 429 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:460:16: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 458 |         // if the timer is currently active then another folio now
 459 |         timerQueue.async {
 460 |             if self.moduleAdvertisementTimer != nil {
     |                `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 461 |                 self.sendModuleAdvertisementMessages()
 462 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:580:49: warning: capture of 'self' with non-sendable type 'OTPConsumer?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 578 |                 if let systemNumbers = Self.queue.sync (execute: { self?.producers.flatMap { $0.systemNumbers } }) {
 579 |
 580 |                     self?.delegateQueue.async { self?.consumerDelegate?.discoveredSystemNumbers(Array(Set(systemNumbers))) }
     |                                                 `- warning: capture of 'self' with non-sendable type 'OTPConsumer?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 581 |
 582 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:580:49: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 578 |                 if let systemNumbers = Self.queue.sync (execute: { self?.producers.flatMap { $0.systemNumbers } }) {
 579 |
 580 |                     self?.delegateQueue.async { self?.consumerDelegate?.discoveredSystemNumbers(Array(Set(systemNumbers))) }
     |                                                 `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 581 |
 582 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:977:35: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 975 |
 976 |             // a newly addressed point has appeared or disappeared
 977 |             delegateQueue.async { self.consumerDelegate?.replaceAllPoints(allPoints) }
     |                                   `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 978 |
 979 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:977:75: warning: capture of 'allPoints' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 975 |
 976 |             // a newly addressed point has appeared or disappeared
 977 |             delegateQueue.async { self.consumerDelegate?.replaceAllPoints(allPoints) }
     |                                                                           `- warning: capture of 'allPoints' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 978 |
 979 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Types/Point.swift:157:15: note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
155 | */
156 |
157 | public struct OTPPoint: Comparable, Hashable {
    |               `- note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
158 |
159 |     /// The `OTPAddress` identifying the point.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:985:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
 983 |             // at least 1 point has changes
 984 |             if !pointsWithChanges.isEmpty {
 985 |                 delegateQueue.async { self.consumerDelegate?.changes(forPoints: pointsWithChanges) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 986 |             }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:985:81: warning: capture of 'pointsWithChanges' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 983 |             // at least 1 point has changes
 984 |             if !pointsWithChanges.isEmpty {
 985 |                 delegateQueue.async { self.consumerDelegate?.changes(forPoints: pointsWithChanges) }
     |                                                                                 `- warning: capture of 'pointsWithChanges' with non-sendable type '[OTPPoint]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 986 |             }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Types/Point.swift:157:15: note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
155 | */
156 |
157 | public struct OTPPoint: Comparable, Hashable {
    |               `- note: consider making struct 'OTPPoint' conform to the 'Sendable' protocol
158 |
159 |     /// The `OTPAddress` identifying the point.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1008:35: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1006 |
1007 |         for producer in lostProducers {
1008 |             delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: producer.ipMode, ipAddresses: producer.ipAddresses, sequenceErrors: producer.sequenceErrors, state: .offline)) }
     |                                   `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1009 |         }
1010 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1008:104: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1006 |
1007 |         for producer in lostProducers {
1008 |             delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: producer.ipMode, ipAddresses: producer.ipAddresses, sequenceErrors: producer.sequenceErrors, state: .offline)) }
     |                                                                                                        `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1009 |         }
1010 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1039:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1037 |
1038 |                 // notify the debug delegate
1039 |                 delegateQueue.async { self.debugDelegate?.debugLog("Attempting multicast leave for \(systemNumber)") }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1040 |
1041 |                 // the existing contains this number, but the new does not
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1058:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1056 |
1057 |                 // notify the debug delegate
1058 |                 delegateQueue.async { self.debugDelegate?.debugLog("Attempting multicast join for System \(systemNumber)") }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1059 |
1060 |                 // the new contains this number, but the existing does not
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1183:31: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1181 |
1182 |         // notify the debug delegate
1183 |         delegateQueue.async { self.debugDelegate?.debugLog("Sending module advertisement message(s) multicast") }
     |                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1184 |
1185 |         // increment the folio number
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:60: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                            `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:158: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                              `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:180: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                    `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1315:282: warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1313 |
1314 |                                 // notify the delegate of the producer status
1315 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                                                                                                                          `- warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1316 |
1317 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:35:13: note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 33 |
 34 | */
 35 | public enum OTPComponentState: String {
    |             `- note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 36 |
 37 |     /// This component is offline.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:176: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1332:237: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1330 |
1331 |                             // notify the delegate of the producer status
1332 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1333 |
1334 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1337:47: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1335 |
1336 |                         // notify the debug delegate
1337 |                         delegateQueue.async { self.debugDelegate?.debugLog("Received name advertisement message from \(otpLayer.componentName) \(otpLayer.cid)") }
     |                                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1338 |
1339 |                     case .system:
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:60: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                            `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:158: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                              `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:180: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                    `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1384:282: warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1382 |
1383 |                                 // notify the delegate of the producer information
1384 |                                 self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: notifiedState)) }
     |                                                                                                                                                                                                                                                                                          `- warning: capture of 'notifiedState' with non-sendable type 'OTPComponentState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1385 |
1386 |                                 // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:35:13: note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 33 |
 34 | */
 35 | public enum OTPComponentState: String {
    |             `- note: consider making enum 'OTPComponentState' conform to the 'Sendable' protocol
 36 |
 37 |     /// This component is offline.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:176: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1400:237: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1398 |
1399 |                             // notify the delegate of the producer information
1400 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .advertising)) }
     |                                                                                                                                                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1401 |
1402 |                             // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1403:62: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1401 |
1402 |                             // request names from producers
1403 |                             Self.socketDelegateQueue.async { self.sendNameAdvertisementMessages() }
     |                                                              `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1404 |
1405 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1408:58: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1406 |
1407 |                         // joins newly discovered systems which are observed
1408 |                         Self.socketDelegateQueue.async { self.refreshSystemSubscription() }
     |                                                          `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1409 |
1410 |                         // notify the debug delegate
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1411:47: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1409 |
1410 |                         // notify the debug delegate
1411 |                         delegateQueue.async { self.debugDelegate?.debugLog("Received system advertisement message from \(otpLayer.componentName) \(otpLayer.cid)") }
     |                                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1412 |
1413 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:56: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:154: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                          `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1448:176: warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1446 |
1447 |                             // notify the delegate this producer is online
1448 |                             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: otpLayer.componentName, cid: producer.cid, ipMode: existingComponentIPMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                                                `- warning: capture of 'existingComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1449 |
1450 |                             // update both name and ip when this happens
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:52: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                    `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:121: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                         `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1467:163: warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1465 |
1466 |                         // notify the delegate this producer is online
1467 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: otpLayer.cid, ipMode: newComponentIPMode, ipAddresses: [hostname], sequenceErrors: producer.sequenceErrors, state: .online)) }
     |                                                                                                                                                                   `- warning: capture of 'newComponentIPMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1468 |
1469 |                         // request names from producers
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1470:58: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1468 |
1469 |                         // request names from producers
1470 |                         Self.socketDelegateQueue.async { self.sendNameAdvertisementMessages() }
     |                                                          `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1471 |
1472 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1496:52: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1494 |
1495 |                         // notify the delegate
1496 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(producerStatus) }
     |                                                    `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1497 |
1498 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1496:97: warning: capture of 'producerStatus' with non-sendable type 'OTPProducerStatus' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1494 |
1495 |                         // notify the delegate
1496 |                         self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(producerStatus) }
     |                                                                                                 `- warning: capture of 'producerStatus' with non-sendable type 'OTPProducerStatus' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1497 |
1498 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentStatus.swift:88:15: note: consider making struct 'OTPProducerStatus' conform to the 'Sendable' protocol
 86 | */
 87 |
 88 | public struct OTPProducerStatus: OTPComponentStatus {
    |               `- note: consider making struct 'OTPProducerStatus' conform to the 'Sendable' protocol
 89 |
 90 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1503:43: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1501 |
1502 |                     // there was an error in the otp layer
1503 |                     delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                           `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1504 |
1505 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1510:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1508 |
1509 |                 // there was an error in the advertisement layer
1510 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1511 |
1512 |             } catch let error as ModuleAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1515:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1513 |
1514 |                 // there was an error in the module advertisement layer
1515 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1516 |
1517 |             } catch let error as SystemAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1520:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1518 |
1519 |                 // there was an error in the system advertisement layer
1520 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1521 |
1522 |             } catch let error as NameAdvertisementLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1525:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1523 |
1524 |                 // there was an error in the name advertisement layer
1525 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1526 |
1527 |             } catch let error as TransformLayerValidationError {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1530:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1528 |
1529 |                 // there was an error in the transform layer
1530 |                 delegateQueue.async { self.protocolErrorDelegate?.layerError(error.logDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1531 |
1532 |             } catch let error {
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1535:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1533 |
1534 |                 // there was an unknown error
1535 |                 delegateQueue.async { self.protocolErrorDelegate?.unknownError(error.localizedDescription) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1536 |
1537 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:40: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                        `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:109: warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                                                                                             `- warning: capture of 'producer' with non-sendable type 'ConsumerProducer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ConsumerProducer.swift:36:8: note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 34 | */
 35 |
 36 | struct ConsumerProducer: Equatable {
    |        `- note: consider making struct 'ConsumerProducer' conform to the 'Sendable' protocol
 37 |
 38 |     /// A globally unique identifier (UUID) representing the producer, compliant with RFC 4122.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1566:151: warning: capture of 'newIpMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1564 |
1565 |             // notify the delegate of the producer status
1566 |             self.delegateQueue.async { self.consumerDelegate?.producerStatusChanged(OTPProducerStatus(name: producer.name, cid: producer.cid, ipMode: newIpMode, ipAddresses: newIpAddresses, sequenceErrors: producer.sequenceErrors, state: producer.notifiedState)) }
     |                                                                                                                                                       `- warning: capture of 'newIpMode' with non-sendable type 'OTPIPMode' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1567 |
1568 |             self.producers[index].ipAddresses = newIpAddresses
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Network/NetworkDefinitions.swift:60:13: note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 58 |
 59 | */
 60 | public enum OTPIPMode: String, CaseIterable {
    |             `- note: consider making enum 'OTPIPMode' conform to the 'Sendable' protocol
 61 |
 62 |     /// The `Component` should only use IPv4.
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1613:39: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1611 |             if self._isConnected != false {
1612 |                 self._isConnected = false
1613 |                 delegateQueue.async { self.consumerDelegate?.disconnected(self, with: error) }
     |                                       `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1614 |             }
1615 |         }
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/Consumer.swift:1626:31: warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  61 | */
  62 |
  63 | final public class OTPConsumer: Component {
     |                    `- note: class 'OTPConsumer' does not conform to the 'Sendable' protocol
  64 |
  65 |     /// The interval between checking for data loss.
     :
1624 |     */
1625 |     func debugSocketLog(_ logMessage: String) {
1626 |         delegateQueue.async { self.debugDelegate?.debugSocketLog(logMessage) }
     |                               `- warning: capture of 'self' with non-sendable type 'OTPConsumer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1627 |     }
1628 |
/Users/admin/builder/spi-builder-workspace/Sources/OTPKit/Components/ComponentSocket.swift:291:26: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
289 |
290 |         DispatchQueue.main.async {
291 |             socketType = self.socketType.rawValue.capitalized
    |                          |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
292 |             semaphore.signal()
293 |         }
Build complete! (21.03s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "cocoaasyncsocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "7.6.5",
            "upper_bound" : "8.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/robbiehanson/CocoaAsyncSocket"
    }
  ],
  "manifest_display_name" : "OTPKit",
  "name" : "OTPKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.14"
    }
  ],
  "products" : [
    {
      "name" : "OTPKit",
      "targets" : [
        "OTPKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "OTPKitTests",
      "module_type" : "SwiftTarget",
      "name" : "OTPKitTests",
      "path" : "Tests/OTPKitTests",
      "sources" : [
        "AddressPointDescriptionTests.swift",
        "AddressTests.swift",
        "AdvertisementLayerTests.swift",
        "ConsumerTests.swift",
        "Data+ExtensionTests.swift",
        "ModuleAdvertisementLayerTests.swift",
        "ModuleIdentifierTests.swift",
        "ModuleLayerTests.swift",
        "ModuleTests.swift",
        "NameAdvertisementLayerTests.swift",
        "OTPLayerTests.swift",
        "PointLayerTests.swift",
        "PointTests.swift",
        "ProducerTests.swift",
        "SystemAdvertisementLayerTests.swift",
        "TransformLayerTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "OTPKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OTPKit",
      "module_type" : "SwiftTarget",
      "name" : "OTPKit",
      "path" : "Sources/OTPKit",
      "product_dependencies" : [
        "CocoaAsyncSocket"
      ],
      "product_memberships" : [
        "OTPKit"
      ],
      "sources" : [
        "Components/Component.swift",
        "Components/ComponentSocket.swift",
        "Components/ComponentStatus.swift",
        "Components/Consumer.swift",
        "Components/ConsumerProducer.swift",
        "Components/Producer.swift",
        "Components/ProducerConsumer.swift",
        "Layers/AdvertismentLayer.swift",
        "Layers/ModuleAdvertisementLayer.swift",
        "Layers/ModuleLayer.swift",
        "Layers/NameAdvertisementLayer.swift",
        "Layers/OTPLayer.swift",
        "Layers/PointLayer.swift",
        "Layers/SystemAdvertismentLayer.swift",
        "Layers/TransformLayer.swift",
        "Network/NetworkDefinitions.swift",
        "Types/Address.swift",
        "Types/AddressPointDescription.swift",
        "Types/Data+Extension.swift",
        "Types/Date+Extension.swift",
        "Types/Folio.swift",
        "Types/GeneralDefinitions.swift",
        "Types/Math.swift",
        "Types/Module.swift",
        "Types/ModuleIdentifier.swift",
        "Types/Modules/ModulePosition.swift",
        "Types/Modules/ModulePositionVelAccel.swift",
        "Types/Modules/ModuleReferenceFrame.swift",
        "Types/Modules/ModuleRotation.swift",
        "Types/Modules/ModuleRotationVelAccel.swift",
        "Types/Modules/ModuleScale.swift",
        "Types/Point.swift",
        "Vendor/CwlDispatch.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.