The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of mqtt-nio, reference 2.12.1 (493ca8), with Swift 6.1 for Android on 31 May 2025 02:48:01 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swift-server-community/mqtt-nio.git
Reference: 2.12.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/swift-server-community/mqtt-nio
 * tag               2.12.1     -> FETCH_HEAD
HEAD is now at 493ca8b End publish listener on connection close if clean session is set to true (#171)
Cloned https://github.com/swift-server-community/mqtt-nio.git
Revision (git rev-parse @):
493ca8bae5b3e93f9246a1a182a87efe25b5e6ba
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swift-server-community/mqtt-nio.git at 2.12.1
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/swift-server-community/mqtt-nio.git
https://github.com/swift-server-community/mqtt-nio.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-atomics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-atomics.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.80.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-ssl",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.14.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-ssl.git"
    },
    {
      "identity" : "swift-nio-transport-services",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.20.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-transport-services.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "mqtt-nio",
  "name" : "mqtt-nio",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "MQTTNIO",
      "targets" : [
        "MQTTNIO"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MQTTNIOTests",
      "module_type" : "SwiftTarget",
      "name" : "MQTTNIOTests",
      "path" : "Tests/MQTTNIOTests",
      "sources" : [
        "CoreMQTTTests.swift",
        "MQTTNIOTests+async.swift",
        "MQTTNIOTests.swift",
        "MQTTNIOv5Tests.swift"
      ],
      "target_dependencies" : [
        "MQTTNIO"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MQTTNIO",
      "module_type" : "SwiftTarget",
      "name" : "MQTTNIO",
      "path" : "Sources/MQTTNIO",
      "product_dependencies" : [
        "Atomics",
        "Logging",
        "NIO",
        "NIOConcurrencyHelpers",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOSSL",
        "NIOTransportServices"
      ],
      "product_memberships" : [
        "MQTTNIO"
      ],
      "sources" : [
        "AsyncAwaitSupport/MQTTClient+async.swift",
        "AsyncAwaitSupport/MQTTClientV5+async.swift",
        "AsyncAwaitSupport/Sendable.swift",
        "ChannelHandlers/MQTTMessageDecoder.swift",
        "ChannelHandlers/MQTTMessageHandler.swift",
        "ChannelHandlers/MQTTTaskHandler.swift",
        "ChannelHandlers/PingreqHandler.swift",
        "ChannelHandlers/WebSocketHandler.swift",
        "ChannelHandlers/WebSocketInitialRequest.swift",
        "MQTTClient.swift",
        "MQTTClientV5.swift",
        "MQTTConfiguration.swift",
        "MQTTConnection.swift",
        "MQTTCoreTypes.swift",
        "MQTTCoreTypesV5.swift",
        "MQTTError.swift",
        "MQTTInflight.swift",
        "MQTTListeners.swift",
        "MQTTPacket.swift",
        "MQTTProperties.swift",
        "MQTTReason.swift",
        "MQTTSerializer.swift",
        "MQTTTask.swift",
        "TSTLSConfiguration.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/apple/swift-nio-transport-services.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-nio.git
[1/3836] Fetching swift-log
[232/5885] Fetching swift-log, swift-docc-plugin
[329/8552] Fetching swift-log, swift-docc-plugin, swift-nio-transport-services
[6955/23395] Fetching swift-log, swift-docc-plugin, swift-nio-transport-services, swift-nio-ssl
Fetching https://github.com/apple/swift-atomics.git
[10186/99518] Fetching swift-log, swift-docc-plugin, swift-nio-transport-services, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-docc-plugin from cache (0.85s)
[12220/97469] Fetching swift-log, swift-nio-transport-services, swift-nio-ssl, swift-nio
[14932/99186] Fetching swift-log, swift-nio-transport-services, swift-nio-ssl, swift-nio, swift-atomics
Fetched https://github.com/apple/swift-atomics.git from cache (0.64s)
[35795/97469] Fetching swift-log, swift-nio-transport-services, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-nio-ssl.git from cache (2.85s)
[62073/82626] Fetching swift-log, swift-nio-transport-services, swift-nio
Fetched https://github.com/apple/swift-nio-transport-services.git from cache (6.58s)
Fetched https://github.com/apple/swift-log.git from cache (6.57s)
Fetched https://github.com/apple/swift-nio.git from cache (6.69s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.83.0 (7.81s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
[1/4391] Fetching swift-system
[2768/20982] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (1.13s)
Fetched https://github.com/apple/swift-collections.git from cache (1.15s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (1.74s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.5.0 (0.58s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.2.0 (0.80s)
Computing version for https://github.com/apple/swift-nio-transport-services.git
Computed https://github.com/apple/swift-nio-transport-services.git at 1.24.0 (0.74s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (0.82s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3392] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.67s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.57s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.88s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.31.0 (1.00s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.83.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
Creating working copy for https://github.com/apple/swift-nio-transport-services.git
Working copy of https://github.com/apple/swift-nio-transport-services.git resolved at 1.24.0
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.31.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.5.0
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/33] Write sources
[18/33] Compiling _AtomicsShims.c
[19/33] Compiling CNIOWindows shim.c
[20/33] Compiling CNIOWASI CNIOWASI.c
[21/33] Compiling CNIOWindows WSAStartup.c
[22/33] Compiling CNIODarwin shim.c
[23/33] Compiling CNIOLinux liburing_shims.c
[24/33] Compiling CNIOSHA1 c_nio_sha1.c
[25/33] Write sources
[26/33] Compiling CNIOLLHTTP c_nio_http.c
[27/33] Compiling CNIOLinux shim.c
[28/33] Compiling CNIOLLHTTP c_nio_api.c
[29/33] Compiling CNIOLLHTTP c_nio_llhttp.c
[30/33] Write swift-version-24593BA9C3E375BF.txt
[32/77] Emitting module _NIOBase64
[33/77] Compiling Atomics UnsafeAtomic.swift
[34/77] Compiling Atomics UnsafeAtomicLazyReference.swift
[35/79] Compiling Atomics OptionalRawRepresentable.swift
[36/79] Compiling Atomics RawRepresentable.swift
[37/80] Compiling Atomics ManagedAtomic.swift
[38/80] Compiling Atomics ManagedAtomicLazyReference.swift
[39/80] Compiling _NIODataStructures _TinyArray.swift
[40/80] Compiling _NIODataStructures PriorityQueue.swift
[41/80] Emitting module InternalCollectionsUtilities
[42/80] Compiling _NIOBase64 Base64.swift
[43/80] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[44/80] Compiling Atomics AtomicBool.swift
[45/80] Compiling Atomics Primitives.shims.swift
[46/80] Compiling Atomics AtomicInteger.swift
[47/80] Compiling Atomics AtomicOptionalWrappable.swift
[49/80] Compiling Atomics AtomicMemoryOrderings.swift
[50/80] Compiling Atomics Primitives.native.swift
[52/80] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[53/80] Compiling Atomics IntegerConformances.swift
[54/80] Compiling Atomics PointerConformances.swift
[55/82] Compiling Atomics AtomicReference.swift
[56/82] Compiling Atomics AtomicStorage.swift
[57/82] Compiling Atomics AtomicValue.swift
[62/82] Compiling Atomics DoubleWord.swift
[66/82] Emitting module Atomics
[70/82] Compiling _NIODataStructures Heap.swift
[71/82] Emitting module _NIODataStructures
[75/83] Compiling Atomics IntegerOperations.swift
[76/83] Compiling Atomics Unmanaged extensions.swift
[77/99] Compiling c-nioatomics.c
[79/99] Compiling DequeModule _DequeBuffer.swift
[80/99] Compiling DequeModule _DequeBufferHeader.swift
[81/101] Compiling DequeModule Deque+Equatable.swift
[82/101] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[83/101] Compiling DequeModule Deque+Extras.swift
[84/101] Compiling DequeModule Deque+Hashable.swift
[85/101] Compiling DequeModule _DequeSlot.swift
[86/101] Compiling DequeModule _UnsafeWrappedBuffer.swift
[87/101] Compiling DequeModule Deque._UnsafeHandle.swift
[88/101] Compiling DequeModule Deque.swift
[89/101] Compiling DequeModule Deque+CustomReflectable.swift
[90/101] Compiling DequeModule Deque+Descriptions.swift
[91/101] Compiling DequeModule Deque+Testing.swift
[92/101] Compiling DequeModule Deque._Storage.swift
[92/101] Compiling c-atomics.c
[94/101] Emitting module DequeModule
[95/101] Compiling DequeModule Deque+Codable.swift
[96/101] Compiling DequeModule Deque+Collection.swift
[98/108] Compiling NIOConcurrencyHelpers NIOLock.swift
[99/108] Compiling NIOConcurrencyHelpers lock.swift
[100/108] Compiling Logging MetadataProvider.swift
[101/108] Emitting module Logging
[102/108] Compiling Logging LogHandler.swift
[103/108] Compiling Logging Locks.swift
[104/108] Compiling Logging Logging.swift
[105/109] Emitting module NIOConcurrencyHelpers
[107/109] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[108/109] Compiling NIOConcurrencyHelpers atomics.swift
[109/109] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[111/170] Compiling NIOCore MulticastChannel.swift
[112/170] Compiling NIOCore NIOAny.swift
[113/170] Compiling NIOCore NIOCloseOnErrorHandler.swift
[114/170] Compiling NIOCore NIOLoopBound.swift
[115/170] Compiling NIOCore NIOPooledRecvBufferAllocator.swift
[116/170] Compiling NIOCore NIOScheduledCallback.swift
[117/170] Compiling NIOCore NIOSendable.swift
[118/170] Compiling NIOCore RecvByteBufferAllocator.swift
[119/170] Compiling NIOCore IO.swift
[120/170] Compiling NIOCore IOData.swift
[121/170] Compiling NIOCore IPProtocol.swift
[122/170] Compiling NIOCore IntegerBitPacking.swift
[123/170] Compiling NIOCore IntegerTypes.swift
[124/170] Compiling NIOCore Interfaces.swift
[125/170] Compiling NIOCore Linux.swift
[126/170] Compiling NIOCore MarkedCircularBuffer.swift
[127/178] Compiling NIOCore CircularBuffer.swift
[128/178] Compiling NIOCore Codec.swift
[129/178] Compiling NIOCore ConvenienceOptionSupport.swift
[130/178] Compiling NIOCore DeadChannel.swift
[131/178] Compiling NIOCore DispatchQueue+WithFuture.swift
[132/178] Compiling NIOCore EventLoop+Deprecated.swift
[133/178] Compiling NIOCore EventLoop+SerialExecutor.swift
[134/178] Compiling NIOCore EventLoop.swift
[135/178] Compiling NIOCore AddressedEnvelope.swift
[136/178] Compiling NIOCore AsyncAwaitSupport.swift
[137/178] Compiling NIOCore AsyncChannel.swift
[138/178] Compiling NIOCore AsyncChannelHandler.swift
[139/178] Compiling NIOCore AsyncChannelInboundStream.swift
[140/178] Compiling NIOCore AsyncChannelOutboundWriter.swift
[141/178] Compiling NIOCore NIOAsyncSequenceProducer.swift
[142/178] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[143/178] Compiling NIOCore NIOAsyncWriter.swift
[144/178] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[145/178] Compiling NIOCore SocketAddresses.swift
[146/178] Compiling NIOCore SocketOptionProvider.swift
[147/178] Compiling NIOCore SystemCallHelpers.swift
[148/178] Compiling NIOCore TimeAmount+Duration.swift
[149/178] Compiling NIOCore TypeAssistedChannelHandler.swift
[150/178] Compiling NIOCore UniversalBootstrapSupport.swift
[151/178] Compiling NIOCore Utilities.swift
[152/178] Emitting module NIOCore
[153/178] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[154/178] Compiling NIOCore EventLoopFuture+Deprecated.swift
[155/178] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[156/178] Compiling NIOCore EventLoopFuture.swift
[157/178] Compiling NIOCore FileDescriptor.swift
[158/178] Compiling NIOCore FileHandle.swift
[159/178] Compiling NIOCore FileRegion.swift
[160/178] Compiling NIOCore GlobalSingletons.swift
[161/178] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[162/178] Compiling NIOCore BSDSocketAPI.swift
[163/178] Compiling NIOCore ByteBuffer-aux.swift
[164/178] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[165/178] Compiling NIOCore ByteBuffer-conversions.swift
[166/178] Compiling NIOCore ByteBuffer-core.swift
[167/178] Compiling NIOCore ByteBuffer-hex.swift
[168/178] Compiling NIOCore ByteBuffer-int.swift
[169/178] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[170/178] Compiling NIOCore ByteBuffer-multi-int.swift
[171/178] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[172/178] Compiling NIOCore ByteBuffer-views.swift
[173/178] Compiling NIOCore Channel.swift
[174/178] Compiling NIOCore ChannelHandler.swift
[175/178] Compiling NIOCore ChannelHandlers.swift
[176/178] Compiling NIOCore ChannelInvoker.swift
[177/178] Compiling NIOCore ChannelOption.swift
[178/178] Compiling NIOCore ChannelPipeline.swift
[180/229] Compiling NIOEmbedded AsyncTestingChannel.swift
[181/229] Emitting module NIOEmbedded
[182/229] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[183/229] Compiling NIOEmbedded Embedded.swift
[185/230] Compiling NIOPosix IO.swift
[186/230] Compiling NIOPosix IntegerBitPacking.swift
[187/230] Compiling NIOPosix IntegerTypes.swift
[188/230] Compiling NIOPosix Linux.swift
[189/230] Compiling NIOPosix LinuxCPUSet.swift
[190/230] Compiling NIOPosix LinuxUring.swift
[191/230] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[192/236] Compiling NIOPosix ThreadPosix.swift
[193/236] Compiling NIOPosix ThreadWindows.swift
[194/236] Compiling NIOPosix UnsafeTransfer.swift
[195/236] Compiling NIOPosix Utilities.swift
[196/236] Compiling NIOPosix VsockAddress.swift
[197/236] Compiling NIOPosix VsockChannelEvents.swift
[198/236] Compiling NIOPosix SelectableChannel.swift
[199/236] Compiling NIOPosix SelectableEventLoop.swift
[200/236] Compiling NIOPosix SelectorEpoll.swift
[201/236] Compiling NIOPosix SelectorGeneric.swift
[202/236] Compiling NIOPosix SelectorKqueue.swift
[203/236] Compiling NIOPosix SelectorUring.swift
[204/236] Compiling NIOPosix Pool.swift
[205/236] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[206/236] Compiling NIOPosix PosixSingletons.swift
[207/236] Compiling NIOPosix RawSocketBootstrap.swift
[208/236] Compiling NIOPosix Resolver.swift
[209/236] Compiling NIOPosix Selectable.swift
[210/236] Compiling NIOPosix ServerSocket.swift
[211/236] Compiling NIOPosix Socket.swift
[212/236] Compiling NIOPosix SocketChannel.swift
[213/236] Compiling NIOPosix SocketProtocols.swift
[214/236] Compiling NIOPosix System.swift
[215/236] Compiling NIOPosix Thread.swift
[216/236] Compiling NIOPosix NIOThreadPool.swift
[217/236] Compiling NIOPosix NonBlockingFileIO.swift
[218/236] Compiling NIOPosix PendingDatagramWritesManager.swift
[219/236] Compiling NIOPosix PendingWritesManager.swift
[220/236] Compiling NIOPosix PipeChannel.swift
[221/236] Compiling NIOPosix PipePair.swift
[222/236] Compiling NIOPosix BSDSocketAPICommon.swift
[223/236] Compiling NIOPosix BSDSocketAPIPosix.swift
[224/236] Compiling NIOPosix BSDSocketAPIWindows.swift
[225/236] Compiling NIOPosix BaseSocket.swift
[226/236] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[227/236] Compiling NIOPosix BaseSocketChannel.swift
[228/236] Compiling NIOPosix BaseStreamSocketChannel.swift
[229/236] Emitting module NIOPosix
[230/236] Compiling NIOPosix Bootstrap.swift
[231/236] Compiling NIOPosix ControlMessage.swift
[232/236] Compiling NIOPosix DatagramVectorReadManager.swift
[233/236] Compiling NIOPosix Errors+Any.swift
[234/236] Compiling NIOPosix FileDescriptor.swift
[235/236] Compiling NIOPosix GetaddrinfoResolver.swift
[236/236] Compiling NIOPosix HappyEyeballs.swift
[238/239] Compiling NIO Exports.swift
[239/239] Emitting module NIO
[241/267] Compiling NIOTLS TLSEvents.swift
[242/267] Emitting module NIOTLS
[243/267] Compiling NIOTLS ApplicationProtocolNegotiationHandler.swift
[244/267] Compiling NIOTLS NIOTypedApplicationProtocolNegotiationHandler.swift
[245/267] Compiling NIOTLS SNIHandler.swift
[246/267] Compiling NIOTLS ProtocolNegotiationHandlerStateMachine.swift
[248/268] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[249/268] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[250/268] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[251/268] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[252/268] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[253/268] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[254/270] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[255/270] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[256/270] Emitting module NIOHTTP1
[257/270] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[258/270] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[259/270] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[260/270] Compiling NIOHTTP1 HTTPTypes.swift
[261/270] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[262/270] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[263/270] Compiling NIOHTTP1 ByteCollectionUtils.swift
[264/270] Compiling NIOHTTP1 HTTPDecoder.swift
[265/270] Compiling NIOHTTP1 HTTPEncoder.swift
[267/281] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[268/281] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[269/281] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[270/281] Emitting module NIOFoundationCompat
[271/281] Compiling NIOFoundationCompat WaitSpinningRunLoop.swift
[272/282] Compiling NIOWebSocket WebSocketOpcode.swift
[274/283] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[275/283] Compiling NIOWebSocket WebSocketFrameDecoder.swift
[276/283] Compiling NIOWebSocket WebSocketProtocolErrorHandler.swift
[277/305] Compiling NIOWebSocket WebSocketErrorCodes.swift
[278/305] Compiling NIOTransportServices NIOTSConnectionBootstrap.swift
[279/305] Compiling NIOTransportServices NIOTSDatagramListener.swift
[280/305] Compiling NIOWebSocket WebSocketFrame.swift
[281/305] Emitting module NIOWebSocket
[282/305] Compiling NIOTransportServices NIOTSBootstraps.swift
[283/305] Compiling NIOTransportServices NIOTSChannelOptions.swift
[284/306] Compiling NIOTransportServices StateManagedChannel.swift
[285/306] Compiling NIOTransportServices StateManagedListenerChannel.swift
[286/306] Compiling NIOTransportServices StateManagedNWConnectionChannel.swift
[287/308] Compiling NIOTransportServices NIOTSNetworkEvents.swift
[288/308] Compiling NIOTransportServices NIOTSSingletons.swift
[289/308] Compiling NIOTransportServices SocketAddress+NWEndpoint.swift
[291/308] Compiling NIOTransportServices NIOTSConnectionChannel.swift
[292/308] Compiling NIOTransportServices NIOTSErrors.swift
[293/308] Compiling NIOTransportServices NIOTSEventLoop.swift
[294/308] Compiling NIOTransportServices NIOTSEventLoopGroup.swift
[295/308] Compiling NIOTransportServices NIOTSListenerBootstrap.swift
[296/308] Compiling NIOTransportServices NIOTSListenerChannel.swift
[300/308] Compiling NIOTransportServices TCPOptions+SocketChannelOption.swift
[301/308] Compiling NIOTransportServices UDPOptions+SocketChannelOption.swift
[302/308] Compiling NIOTransportServices AcceptHandler.swift
[303/308] Compiling NIOTransportServices NIOTSDatagramBootstrap.swift
[304/308] Compiling NIOTransportServices NIOTSDatagramChannel.swift
[305/308] Emitting module NIOTransportServices
[307/308] Compiling NIOTransportServices NIOTSDatagramListenerChannel.swift
[308/308] Compiling NIOTransportServices NIOFilterEmptyWritesHandler.swift
[310/331] Emitting module MQTTNIO
[311/334] Compiling MQTTNIO MQTTMessageDecoder.swift
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:134:33: warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
 15 | import NIO
 16 |
 17 | class MQTTMessageHandler: ChannelDuplexHandler {
    |       `- note: class 'MQTTMessageHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = ByteBuffer
 19 |     typealias InboundOut = MQTTPacket
    :
132 |             connection.sendMessageNoWait(MQTTPubAckPacket(type: .PUBACK, packetId: message.packetId))
133 |                 .map { _ in message.publish }
134 |                 .whenComplete { self.client.publishListeners.notify($0) }
    |                                 `- warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
135 |
136 |         case .exactlyOnce:
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:150:25: warning: reference to captured var 'publish' in concurrently-executing code
148 |                 return true
149 |             }
150 |             .map { _ in publish }
    |                         `- warning: reference to captured var 'publish' in concurrently-executing code
151 |             .whenComplete { result in
152 |                 // do not report retrySend error
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:156:17: warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
 15 | import NIO
 16 |
 17 | class MQTTMessageHandler: ChannelDuplexHandler {
    |       `- note: class 'MQTTMessageHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = ByteBuffer
 19 |     typealias InboundOut = MQTTPacket
    :
154 |                     return
155 |                 }
156 |                 self.client.publishListeners.notify(result)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
157 |             }
158 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:35:17: warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
    :
 33 |         } else {
 34 |             return self.eventLoop.submit {
 35 |                 self.tasks.append(task)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 36 |             }
 37 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:35:35: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 33 |         } else {
 34 |             return self.eventLoop.submit {
 35 |                 self.tasks.append(task)
    |                                   `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 36 |             }
 37 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:53:17: warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
    :
 51 |         } else {
 52 |             self.eventLoop.execute {
 53 |                 self._removeTask(task)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 54 |             }
 55 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:53:34: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 51 |         } else {
 52 |             self.eventLoop.execute {
 53 |                 self._removeTask(task)
    |                                  `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 54 |             }
 55 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
[312/334] Compiling MQTTNIO MQTTMessageHandler.swift
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:134:33: warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
 15 | import NIO
 16 |
 17 | class MQTTMessageHandler: ChannelDuplexHandler {
    |       `- note: class 'MQTTMessageHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = ByteBuffer
 19 |     typealias InboundOut = MQTTPacket
    :
132 |             connection.sendMessageNoWait(MQTTPubAckPacket(type: .PUBACK, packetId: message.packetId))
133 |                 .map { _ in message.publish }
134 |                 .whenComplete { self.client.publishListeners.notify($0) }
    |                                 `- warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
135 |
136 |         case .exactlyOnce:
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:150:25: warning: reference to captured var 'publish' in concurrently-executing code
148 |                 return true
149 |             }
150 |             .map { _ in publish }
    |                         `- warning: reference to captured var 'publish' in concurrently-executing code
151 |             .whenComplete { result in
152 |                 // do not report retrySend error
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:156:17: warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
 15 | import NIO
 16 |
 17 | class MQTTMessageHandler: ChannelDuplexHandler {
    |       `- note: class 'MQTTMessageHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = ByteBuffer
 19 |     typealias InboundOut = MQTTPacket
    :
154 |                     return
155 |                 }
156 |                 self.client.publishListeners.notify(result)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
157 |             }
158 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:35:17: warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
    :
 33 |         } else {
 34 |             return self.eventLoop.submit {
 35 |                 self.tasks.append(task)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 36 |             }
 37 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:35:35: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 33 |         } else {
 34 |             return self.eventLoop.submit {
 35 |                 self.tasks.append(task)
    |                                   `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 36 |             }
 37 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:53:17: warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
    :
 51 |         } else {
 52 |             self.eventLoop.execute {
 53 |                 self._removeTask(task)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 54 |             }
 55 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:53:34: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 51 |         } else {
 52 |             self.eventLoop.execute {
 53 |                 self._removeTask(task)
    |                                  `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 54 |             }
 55 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
[313/334] Compiling MQTTNIO MQTTTaskHandler.swift
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:134:33: warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
 15 | import NIO
 16 |
 17 | class MQTTMessageHandler: ChannelDuplexHandler {
    |       `- note: class 'MQTTMessageHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = ByteBuffer
 19 |     typealias InboundOut = MQTTPacket
    :
132 |             connection.sendMessageNoWait(MQTTPubAckPacket(type: .PUBACK, packetId: message.packetId))
133 |                 .map { _ in message.publish }
134 |                 .whenComplete { self.client.publishListeners.notify($0) }
    |                                 `- warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
135 |
136 |         case .exactlyOnce:
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:150:25: warning: reference to captured var 'publish' in concurrently-executing code
148 |                 return true
149 |             }
150 |             .map { _ in publish }
    |                         `- warning: reference to captured var 'publish' in concurrently-executing code
151 |             .whenComplete { result in
152 |                 // do not report retrySend error
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTMessageHandler.swift:156:17: warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
 15 | import NIO
 16 |
 17 | class MQTTMessageHandler: ChannelDuplexHandler {
    |       `- note: class 'MQTTMessageHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = ByteBuffer
 19 |     typealias InboundOut = MQTTPacket
    :
154 |                     return
155 |                 }
156 |                 self.client.publishListeners.notify(result)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTMessageHandler' in a '@Sendable' closure
157 |             }
158 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:35:17: warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
    :
 33 |         } else {
 34 |             return self.eventLoop.submit {
 35 |                 self.tasks.append(task)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 36 |             }
 37 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:35:35: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 33 |         } else {
 34 |             return self.eventLoop.submit {
 35 |                 self.tasks.append(task)
    |                                   `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 36 |             }
 37 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:53:17: warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
    :
 51 |         } else {
 52 |             self.eventLoop.execute {
 53 |                 self._removeTask(task)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 54 |             }
 55 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:53:34: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 51 |         } else {
 52 |             self.eventLoop.execute {
 53 |                 self._removeTask(task)
    |                                  `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
 54 |             }
 55 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
[314/334] Compiling MQTTNIO MQTTConnection.swift
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:47:128: warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 45 |         let taskHandler = MQTTTaskHandler(client: client)
 46 |         return self.createBootstrap(client: client, pingInterval: pingInterval, taskHandler: taskHandler)
 47 |             .map { MQTTConnection(channel: $0, cleanSession: cleanSession, timeout: client.configuration.timeout, taskHandler: taskHandler) }
    |                                                                                                                                `- warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 48 |     }
 49 |
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:17:13: note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:81:61: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
 79 |                         }
 80 |                     } else {
 81 |                         return channel.pipeline.addHandlers(handlers)
    |                                                             `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
 82 |                     }
 83 |                 }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:63:25: warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 61 |                     let handlers: [ChannelHandler] = [
 62 |                         MQTTMessageHandler(client, pingInterval: pingInterval),
 63 |                         taskHandler,
    |                         `- warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |                     ]
 65 |                     // are we using websockets
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:17:13: note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:195:74: warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
193 |
194 |         // add HTTP handler with web socket upgrade
195 |         return channel.pipeline.addHTTPClientHandlers(withClientUpgrade: config).flatMap {
    |                                                                          `- warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
196 |             channel.pipeline.addHandler(httpHandler)
197 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:181:21: warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
179 |             let future = channel.eventLoop.makeCompletedFuture {
180 |                 try channel.pipeline.syncOperations.addHandler(WebSocketHandler())
181 |                 try afterHandlerAdded()
    |                     |- warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |             }
183 |             future.cascade(to: promise)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:181:21: warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in an isolated closure
179 |             let future = channel.eventLoop.makeCompletedFuture {
180 |                 try channel.pipeline.syncOperations.addHandler(WebSocketHandler())
181 |                 try afterHandlerAdded()
    |                     |- warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |             }
183 |             future.cascade(to: promise)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:217:17: warning: capture of 'self' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
 29 | #endif
 30 |
 31 | final class MQTTConnection {
    |             `- note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 32 |     let channel: Channel
 33 |     let cleanSession: Bool
    :
215 |         self.taskHandler.addTask(task)
216 |             .flatMap {
217 |                 self.channel.writeAndFlush(message)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
218 |             }
219 |             .whenFailure { error in
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:220:17: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
218 |             }
219 |             .whenFailure { error in
220 |                 task.fail(error)
    |                 `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
221 |             }
222 |         return task.promise.futureResult
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
[315/334] Compiling MQTTNIO MQTTCoreTypes.swift
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:47:128: warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 45 |         let taskHandler = MQTTTaskHandler(client: client)
 46 |         return self.createBootstrap(client: client, pingInterval: pingInterval, taskHandler: taskHandler)
 47 |             .map { MQTTConnection(channel: $0, cleanSession: cleanSession, timeout: client.configuration.timeout, taskHandler: taskHandler) }
    |                                                                                                                                `- warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 48 |     }
 49 |
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:17:13: note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:81:61: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
 79 |                         }
 80 |                     } else {
 81 |                         return channel.pipeline.addHandlers(handlers)
    |                                                             `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
 82 |                     }
 83 |                 }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:63:25: warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 61 |                     let handlers: [ChannelHandler] = [
 62 |                         MQTTMessageHandler(client, pingInterval: pingInterval),
 63 |                         taskHandler,
    |                         `- warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |                     ]
 65 |                     // are we using websockets
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:17:13: note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:195:74: warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
193 |
194 |         // add HTTP handler with web socket upgrade
195 |         return channel.pipeline.addHTTPClientHandlers(withClientUpgrade: config).flatMap {
    |                                                                          `- warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
196 |             channel.pipeline.addHandler(httpHandler)
197 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:181:21: warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
179 |             let future = channel.eventLoop.makeCompletedFuture {
180 |                 try channel.pipeline.syncOperations.addHandler(WebSocketHandler())
181 |                 try afterHandlerAdded()
    |                     |- warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |             }
183 |             future.cascade(to: promise)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:181:21: warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in an isolated closure
179 |             let future = channel.eventLoop.makeCompletedFuture {
180 |                 try channel.pipeline.syncOperations.addHandler(WebSocketHandler())
181 |                 try afterHandlerAdded()
    |                     |- warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |             }
183 |             future.cascade(to: promise)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:217:17: warning: capture of 'self' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
 29 | #endif
 30 |
 31 | final class MQTTConnection {
    |             `- note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 32 |     let channel: Channel
 33 |     let cleanSession: Bool
    :
215 |         self.taskHandler.addTask(task)
216 |             .flatMap {
217 |                 self.channel.writeAndFlush(message)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
218 |             }
219 |             .whenFailure { error in
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:220:17: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
218 |             }
219 |             .whenFailure { error in
220 |                 task.fail(error)
    |                 `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
221 |             }
222 |         return task.promise.futureResult
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
[316/334] Compiling MQTTNIO MQTTCoreTypesV5.swift
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:47:128: warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 45 |         let taskHandler = MQTTTaskHandler(client: client)
 46 |         return self.createBootstrap(client: client, pingInterval: pingInterval, taskHandler: taskHandler)
 47 |             .map { MQTTConnection(channel: $0, cleanSession: cleanSession, timeout: client.configuration.timeout, taskHandler: taskHandler) }
    |                                                                                                                                `- warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure
 48 |     }
 49 |
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:17:13: note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:81:61: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
 79 |                         }
 80 |                     } else {
 81 |                         return channel.pipeline.addHandlers(handlers)
    |                                                             `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
 82 |                     }
 83 |                 }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:63:25: warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 61 |                     let handlers: [ChannelHandler] = [
 62 |                         MQTTMessageHandler(client, pingInterval: pingInterval),
 63 |                         taskHandler,
    |                         `- warning: capture of 'taskHandler' with non-sendable type 'MQTTTaskHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |                     ]
 65 |                     // are we using websockets
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/MQTTTaskHandler.swift:17:13: note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 15 |
 16 | /// Task handler.
 17 | final class MQTTTaskHandler: ChannelInboundHandler, RemovableChannelHandler {
    |             `- note: class 'MQTTTaskHandler' does not conform to the 'Sendable' protocol
 18 |     typealias InboundIn = MQTTPacket
 19 |
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:195:74: warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
193 |
194 |         // add HTTP handler with web socket upgrade
195 |         return channel.pipeline.addHTTPClientHandlers(withClientUpgrade: config).flatMap {
    |                                                                          `- warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
196 |             channel.pipeline.addHandler(httpHandler)
197 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:181:21: warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
179 |             let future = channel.eventLoop.makeCompletedFuture {
180 |                 try channel.pipeline.syncOperations.addHandler(WebSocketHandler())
181 |                 try afterHandlerAdded()
    |                     |- warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |             }
183 |             future.cascade(to: promise)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:181:21: warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in an isolated closure
179 |             let future = channel.eventLoop.makeCompletedFuture {
180 |                 try channel.pipeline.syncOperations.addHandler(WebSocketHandler())
181 |                 try afterHandlerAdded()
    |                     |- warning: capture of 'afterHandlerAdded' with non-sendable type '() throws -> Void' in an isolated closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
182 |             }
183 |             future.cascade(to: promise)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:217:17: warning: capture of 'self' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
 29 | #endif
 30 |
 31 | final class MQTTConnection {
    |             `- note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 32 |     let channel: Channel
 33 |     let cleanSession: Bool
    :
215 |         self.taskHandler.addTask(task)
216 |             .flatMap {
217 |                 self.channel.writeAndFlush(message)
    |                 `- warning: capture of 'self' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
218 |             }
219 |             .whenFailure { error in
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:220:17: warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
218 |             }
219 |             .whenFailure { error in
220 |                 task.fail(error)
    |                 `- warning: capture of 'task' with non-sendable type 'MQTTTask' in a '@Sendable' closure
221 |             }
222 |         return task.promise.futureResult
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTTask.swift:17:13: note: class 'MQTTTask' does not conform to the 'Sendable' protocol
15 |
16 | /// Class encapsulating a single task
17 | final class MQTTTask {
   |             `- note: class 'MQTTTask' does not conform to the 'Sendable' protocol
18 |     let promise: EventLoopPromise<MQTTPacket>
19 |     let checkInbound: (MQTTPacket) throws -> Bool
[317/334] Compiling MQTTNIO MQTTSerializer.swift
[318/334] Compiling MQTTNIO MQTTTask.swift
[319/334] Compiling MQTTNIO TSTLSConfiguration.swift
[320/334] Compiling MQTTNIO MQTTClient+async.swift
[321/334] Compiling MQTTNIO MQTTClientV5+async.swift
[322/334] Compiling MQTTNIO Sendable.swift
[323/334] Compiling MQTTNIO MQTTError.swift
[324/334] Compiling MQTTNIO MQTTInflight.swift
[325/334] Compiling MQTTNIO MQTTListeners.swift
[326/334] Compiling MQTTNIO PingreqHandler.swift
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:59:16: warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
15 |
16 | /// Channel handler for sending PINGREQ messages to keep connect alive
17 | final class PingreqHandler {
   |             `- note: class 'PingreqHandler' does not conform to the 'Sendable' protocol
18 |     typealias OutboundIn = MQTTPacket
19 |     typealias OutboundOut = MQTTPacket
   :
57 |             // if lastEventTime plus the timeout is less than now send PINGREQ
58 |             // otherwise reschedule task
59 |             if self.lastEventTime + self.timeout <= .now() {
   |                `- warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
60 |                 guard context.channel.isActive else { return }
61 |
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:60:23: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
58 |             // otherwise reschedule task
59 |             if self.lastEventTime + self.timeout <= .now() {
60 |                 guard context.channel.isActive else { return }
   |                       `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
61 |
62 |                 self.client.ping().whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:65:25: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
63 |                     switch result {
64 |                     case .failure(let error):
65 |                         context.fireErrorCaught(error)
   |                         `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
66 |                     case .success:
67 |                         break
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:69:21: warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
15 |
16 | /// Channel handler for sending PINGREQ messages to keep connect alive
17 | final class PingreqHandler {
   |             `- note: class 'PingreqHandler' does not conform to the 'Sendable' protocol
18 |     typealias OutboundIn = MQTTPacket
19 |     typealias OutboundOut = MQTTPacket
   :
67 |                         break
68 |                     }
69 |                     self.lastEventTime = .now()
   |                     `- warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
70 |                     self.scheduleTask(context)
71 |                 }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:121:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
119 |                 // so the other side likely will never send the close frame. We just close the
120 |                 // channel ourselves.
121 |                 context.channel.close(mode: .all, promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |             }
123 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:128:17: warning: capture of 'self' with non-sendable type 'WebSocketHandler' in a '@Sendable' closure
 22 | /// The WebSocket ping/pong is implemented but not used as the MQTT client already implements
 23 | /// PINGREQ messages
 24 | final class WebSocketHandler: ChannelDuplexHandler {
    |             `- note: class 'WebSocketHandler' does not conform to the 'Sendable' protocol
 25 |     typealias OutboundIn = ByteBuffer
 26 |     typealias OutboundOut = WebSocketFrame
    :
126 |             self.send(context: context, buffer: buffer, opcode: .ping)
127 |             _ = context.eventLoop.scheduleTask(in: pingInterval) {
128 |                 self.sendPingAndWait(context: context)
    |                 `- warning: capture of 'self' with non-sendable type 'WebSocketHandler' in a '@Sendable' closure
129 |             }
130 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:128:47: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
126 |             self.send(context: context, buffer: buffer, opcode: .ping)
127 |             _ = context.eventLoop.scheduleTask(in: pingInterval) {
128 |                 self.sendPingAndWait(context: context)
    |                                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
129 |             }
130 |         }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
[327/334] Compiling MQTTNIO WebSocketHandler.swift
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:59:16: warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
15 |
16 | /// Channel handler for sending PINGREQ messages to keep connect alive
17 | final class PingreqHandler {
   |             `- note: class 'PingreqHandler' does not conform to the 'Sendable' protocol
18 |     typealias OutboundIn = MQTTPacket
19 |     typealias OutboundOut = MQTTPacket
   :
57 |             // if lastEventTime plus the timeout is less than now send PINGREQ
58 |             // otherwise reschedule task
59 |             if self.lastEventTime + self.timeout <= .now() {
   |                `- warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
60 |                 guard context.channel.isActive else { return }
61 |
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:60:23: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
58 |             // otherwise reschedule task
59 |             if self.lastEventTime + self.timeout <= .now() {
60 |                 guard context.channel.isActive else { return }
   |                       `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
61 |
62 |                 self.client.ping().whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:65:25: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
63 |                     switch result {
64 |                     case .failure(let error):
65 |                         context.fireErrorCaught(error)
   |                         `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
66 |                     case .success:
67 |                         break
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:69:21: warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
15 |
16 | /// Channel handler for sending PINGREQ messages to keep connect alive
17 | final class PingreqHandler {
   |             `- note: class 'PingreqHandler' does not conform to the 'Sendable' protocol
18 |     typealias OutboundIn = MQTTPacket
19 |     typealias OutboundOut = MQTTPacket
   :
67 |                         break
68 |                     }
69 |                     self.lastEventTime = .now()
   |                     `- warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
70 |                     self.scheduleTask(context)
71 |                 }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:121:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
119 |                 // so the other side likely will never send the close frame. We just close the
120 |                 // channel ourselves.
121 |                 context.channel.close(mode: .all, promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |             }
123 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:128:17: warning: capture of 'self' with non-sendable type 'WebSocketHandler' in a '@Sendable' closure
 22 | /// The WebSocket ping/pong is implemented but not used as the MQTT client already implements
 23 | /// PINGREQ messages
 24 | final class WebSocketHandler: ChannelDuplexHandler {
    |             `- note: class 'WebSocketHandler' does not conform to the 'Sendable' protocol
 25 |     typealias OutboundIn = ByteBuffer
 26 |     typealias OutboundOut = WebSocketFrame
    :
126 |             self.send(context: context, buffer: buffer, opcode: .ping)
127 |             _ = context.eventLoop.scheduleTask(in: pingInterval) {
128 |                 self.sendPingAndWait(context: context)
    |                 `- warning: capture of 'self' with non-sendable type 'WebSocketHandler' in a '@Sendable' closure
129 |             }
130 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:128:47: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
126 |             self.send(context: context, buffer: buffer, opcode: .ping)
127 |             _ = context.eventLoop.scheduleTask(in: pingInterval) {
128 |                 self.sendPingAndWait(context: context)
    |                                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
129 |             }
130 |         }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
[328/334] Compiling MQTTNIO WebSocketInitialRequest.swift
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:59:16: warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
15 |
16 | /// Channel handler for sending PINGREQ messages to keep connect alive
17 | final class PingreqHandler {
   |             `- note: class 'PingreqHandler' does not conform to the 'Sendable' protocol
18 |     typealias OutboundIn = MQTTPacket
19 |     typealias OutboundOut = MQTTPacket
   :
57 |             // if lastEventTime plus the timeout is less than now send PINGREQ
58 |             // otherwise reschedule task
59 |             if self.lastEventTime + self.timeout <= .now() {
   |                `- warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
60 |                 guard context.channel.isActive else { return }
61 |
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:60:23: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
58 |             // otherwise reschedule task
59 |             if self.lastEventTime + self.timeout <= .now() {
60 |                 guard context.channel.isActive else { return }
   |                       `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
61 |
62 |                 self.client.ping().whenComplete { result in
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:65:25: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
63 |                     switch result {
64 |                     case .failure(let error):
65 |                         context.fireErrorCaught(error)
   |                         `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
66 |                     case .success:
67 |                         break
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/PingreqHandler.swift:69:21: warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
15 |
16 | /// Channel handler for sending PINGREQ messages to keep connect alive
17 | final class PingreqHandler {
   |             `- note: class 'PingreqHandler' does not conform to the 'Sendable' protocol
18 |     typealias OutboundIn = MQTTPacket
19 |     typealias OutboundOut = MQTTPacket
   :
67 |                         break
68 |                     }
69 |                     self.lastEventTime = .now()
   |                     `- warning: capture of 'self' with non-sendable type 'PingreqHandler' in a '@Sendable' closure
70 |                     self.scheduleTask(context)
71 |                 }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:121:17: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
119 |                 // so the other side likely will never send the close frame. We just close the
120 |                 // channel ourselves.
121 |                 context.channel.close(mode: .all, promise: nil)
    |                 `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
122 |             }
123 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:128:17: warning: capture of 'self' with non-sendable type 'WebSocketHandler' in a '@Sendable' closure
 22 | /// The WebSocket ping/pong is implemented but not used as the MQTT client already implements
 23 | /// PINGREQ messages
 24 | final class WebSocketHandler: ChannelDuplexHandler {
    |             `- note: class 'WebSocketHandler' does not conform to the 'Sendable' protocol
 25 |     typealias OutboundIn = ByteBuffer
 26 |     typealias OutboundOut = WebSocketFrame
    :
126 |             self.send(context: context, buffer: buffer, opcode: .ping)
127 |             _ = context.eventLoop.scheduleTask(in: pingInterval) {
128 |                 self.sendPingAndWait(context: context)
    |                 `- warning: capture of 'self' with non-sendable type 'WebSocketHandler' in a '@Sendable' closure
129 |             }
130 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/ChannelHandlers/WebSocketHandler.swift:128:47: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
126 |             self.send(context: context, buffer: buffer, opcode: .ping)
127 |             _ = context.eventLoop.scheduleTask(in: pingInterval) {
128 |                 self.sendPingAndWait(context: context)
    |                                               `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
129 |             }
130 |         }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
     |                    `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 |     // visible for ChannelPipeline to modify
1788 |     fileprivate var next: Optional<ChannelHandlerContext>
[329/334] Compiling MQTTNIO MQTTPacket.swift
[330/334] Compiling MQTTNIO MQTTProperties.swift
[331/334] Compiling MQTTNIO MQTTReason.swift
[332/334] Compiling MQTTNIO MQTTClient.swift
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:252:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
250 |
251 |             self.shutdownEventLoopGroup(queue: queue) { error in
252 |                 callback(closeError ?? error)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |             }
254 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:252:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
250 |
251 |             self.shutdownEventLoopGroup(queue: queue) { error in
252 |                 callback(closeError ?? error)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |             }
254 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:265:66: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
256 |
257 |     /// shutdown EventLoopGroup
258 |     private func shutdownEventLoopGroup(queue: DispatchQueue, _ callback: @escaping (Error?) -> Void) {
    |                                                                 `- note: parameter 'callback' is implicitly non-sendable
259 |         switch self.eventLoopGroupProvider {
260 |         case .shared:
    :
263 |             }
264 |         case .createNew:
265 |             self.eventLoopGroup.shutdownGracefully(queue: queue, callback)
    |                                                                  `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
266 |         }
267 |     }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:262:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
260 |         case .shared:
261 |             queue.async {
262 |                 callback(nil)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
263 |             }
264 |         case .createNew:
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:499:44: warning: capture of 'connection' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
497 |                     // only reset connection if this connection is still set. Stops a reconnect having its connection removed by the
498 |                     // previous connection
499 |                     if self.connection === connection {
    |                                            `- warning: capture of 'connection' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
500 |                         self.connection = nil
501 |                     }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:31:13: note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 29 | #endif
 30 |
 31 | final class MQTTConnection {
    |             `- note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 32 |     let channel: Channel
 33 |     let cleanSession: Bool
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:528:31: warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
526 |                 case let auth as MQTTAuthPacket:
527 |                     // auth messages require an auth workflow closure
528 |                     guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
    |                               |- warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
529 |                     return self.processAuth(auth, authWorkflow: authWorkflow, on: eventLoop)
530 |                         .flatMapThrowing { result -> MQTTConnAckPacket in
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:636:29: warning: capture of 'workflow' with non-sendable type '(MQTTAuthPacket) -> ()' in a '@Sendable' closure
634 |                         switch auth.reason {
635 |                         case .continueAuthentication:
636 |                             workflow(auth)
    |                             |- warning: capture of 'workflow' with non-sendable type '(MQTTAuthPacket) -> ()' in a '@Sendable' closure
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
637 |                         case .success:
638 |                             promise.succeed(auth)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:622:14: warning: concurrently-executed local function 'workflow' must be marked as '@Sendable'
620 |     ) -> EventLoopFuture<MQTTPacket> {
621 |         let promise = eventLoop.makePromise(of: MQTTPacket.self)
622 |         func workflow(_ packet: MQTTAuthPacket) {
    |              `- warning: concurrently-executed local function 'workflow' must be marked as '@Sendable'
623 |             let auth = MQTTAuthV5(reason: packet.reason, properties: packet.properties)
624 |             authWorkflow(auth, eventLoop)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClientV5.swift:190:27: warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
188 |                     return eventLoop.makeSucceededFuture(auth)
189 |                 }
190 |                 guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
    |                           |- warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
    |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 |                 return self.client.processAuth(authPacket, authWorkflow: authWorkflow, on: eventLoop)
192 |             }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClientV5.swift:191:24: warning: capture of 'self' with non-sendable type 'MQTTClient.V5' in a '@Sendable' closure
 16 | extension MQTTClient {
 17 |     /// Provides implementations of functions that expose MQTT Version 5.0 features
 18 |     public struct V5 {
    |                   `- note: consider making struct 'V5' conform to the 'Sendable' protocol
 19 |         let client: MQTTClient
 20 |
    :
189 |                 }
190 |                 guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
191 |                 return self.client.processAuth(authPacket, authWorkflow: authWorkflow, on: eventLoop)
    |                        `- warning: capture of 'self' with non-sendable type 'MQTTClient.V5' in a '@Sendable' closure
192 |             }
193 |             .flatMapThrowing { response -> MQTTAuthV5 in
[333/334] Compiling MQTTNIO MQTTClientV5.swift
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:252:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
250 |
251 |             self.shutdownEventLoopGroup(queue: queue) { error in
252 |                 callback(closeError ?? error)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |             }
254 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:252:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
250 |
251 |             self.shutdownEventLoopGroup(queue: queue) { error in
252 |                 callback(closeError ?? error)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |             }
254 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:265:66: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
256 |
257 |     /// shutdown EventLoopGroup
258 |     private func shutdownEventLoopGroup(queue: DispatchQueue, _ callback: @escaping (Error?) -> Void) {
    |                                                                 `- note: parameter 'callback' is implicitly non-sendable
259 |         switch self.eventLoopGroupProvider {
260 |         case .shared:
    :
263 |             }
264 |         case .createNew:
265 |             self.eventLoopGroup.shutdownGracefully(queue: queue, callback)
    |                                                                  `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
266 |         }
267 |     }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:262:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
260 |         case .shared:
261 |             queue.async {
262 |                 callback(nil)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
263 |             }
264 |         case .createNew:
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:499:44: warning: capture of 'connection' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
497 |                     // only reset connection if this connection is still set. Stops a reconnect having its connection removed by the
498 |                     // previous connection
499 |                     if self.connection === connection {
    |                                            `- warning: capture of 'connection' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
500 |                         self.connection = nil
501 |                     }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:31:13: note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 29 | #endif
 30 |
 31 | final class MQTTConnection {
    |             `- note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 32 |     let channel: Channel
 33 |     let cleanSession: Bool
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:528:31: warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
526 |                 case let auth as MQTTAuthPacket:
527 |                     // auth messages require an auth workflow closure
528 |                     guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
    |                               |- warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
529 |                     return self.processAuth(auth, authWorkflow: authWorkflow, on: eventLoop)
530 |                         .flatMapThrowing { result -> MQTTConnAckPacket in
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:636:29: warning: capture of 'workflow' with non-sendable type '(MQTTAuthPacket) -> ()' in a '@Sendable' closure
634 |                         switch auth.reason {
635 |                         case .continueAuthentication:
636 |                             workflow(auth)
    |                             |- warning: capture of 'workflow' with non-sendable type '(MQTTAuthPacket) -> ()' in a '@Sendable' closure
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
637 |                         case .success:
638 |                             promise.succeed(auth)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:622:14: warning: concurrently-executed local function 'workflow' must be marked as '@Sendable'
620 |     ) -> EventLoopFuture<MQTTPacket> {
621 |         let promise = eventLoop.makePromise(of: MQTTPacket.self)
622 |         func workflow(_ packet: MQTTAuthPacket) {
    |              `- warning: concurrently-executed local function 'workflow' must be marked as '@Sendable'
623 |             let auth = MQTTAuthV5(reason: packet.reason, properties: packet.properties)
624 |             authWorkflow(auth, eventLoop)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClientV5.swift:190:27: warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
188 |                     return eventLoop.makeSucceededFuture(auth)
189 |                 }
190 |                 guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
    |                           |- warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
    |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 |                 return self.client.processAuth(authPacket, authWorkflow: authWorkflow, on: eventLoop)
192 |             }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClientV5.swift:191:24: warning: capture of 'self' with non-sendable type 'MQTTClient.V5' in a '@Sendable' closure
 16 | extension MQTTClient {
 17 |     /// Provides implementations of functions that expose MQTT Version 5.0 features
 18 |     public struct V5 {
    |                   `- note: consider making struct 'V5' conform to the 'Sendable' protocol
 19 |         let client: MQTTClient
 20 |
    :
189 |                 }
190 |                 guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
191 |                 return self.client.processAuth(authPacket, authWorkflow: authWorkflow, on: eventLoop)
    |                        `- warning: capture of 'self' with non-sendable type 'MQTTClient.V5' in a '@Sendable' closure
192 |             }
193 |             .flatMapThrowing { response -> MQTTAuthV5 in
[334/334] Compiling MQTTNIO MQTTConfiguration.swift
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:252:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
250 |
251 |             self.shutdownEventLoopGroup(queue: queue) { error in
252 |                 callback(closeError ?? error)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |             }
254 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:252:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
250 |
251 |             self.shutdownEventLoopGroup(queue: queue) { error in
252 |                 callback(closeError ?? error)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in an isolated closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 |             }
254 |         }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:265:66: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
256 |
257 |     /// shutdown EventLoopGroup
258 |     private func shutdownEventLoopGroup(queue: DispatchQueue, _ callback: @escaping (Error?) -> Void) {
    |                                                                 `- note: parameter 'callback' is implicitly non-sendable
259 |         switch self.eventLoopGroupProvider {
260 |         case .shared:
    :
263 |             }
264 |         case .createNew:
265 |             self.eventLoopGroup.shutdownGracefully(queue: queue, callback)
    |                                                                  `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
266 |         }
267 |     }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:262:17: warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
260 |         case .shared:
261 |             queue.async {
262 |                 callback(nil)
    |                 |- warning: capture of 'callback' with non-sendable type '((any Error)?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
263 |             }
264 |         case .createNew:
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:499:44: warning: capture of 'connection' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
497 |                     // only reset connection if this connection is still set. Stops a reconnect having its connection removed by the
498 |                     // previous connection
499 |                     if self.connection === connection {
    |                                            `- warning: capture of 'connection' with non-sendable type 'MQTTConnection' in a '@Sendable' closure
500 |                         self.connection = nil
501 |                     }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTConnection.swift:31:13: note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 29 | #endif
 30 |
 31 | final class MQTTConnection {
    |             `- note: class 'MQTTConnection' does not conform to the 'Sendable' protocol
 32 |     let channel: Channel
 33 |     let cleanSession: Bool
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:528:31: warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
526 |                 case let auth as MQTTAuthPacket:
527 |                     // auth messages require an auth workflow closure
528 |                     guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
    |                               |- warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
    |                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
529 |                     return self.processAuth(auth, authWorkflow: authWorkflow, on: eventLoop)
530 |                         .flatMapThrowing { result -> MQTTConnAckPacket in
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:636:29: warning: capture of 'workflow' with non-sendable type '(MQTTAuthPacket) -> ()' in a '@Sendable' closure
634 |                         switch auth.reason {
635 |                         case .continueAuthentication:
636 |                             workflow(auth)
    |                             |- warning: capture of 'workflow' with non-sendable type '(MQTTAuthPacket) -> ()' in a '@Sendable' closure
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
637 |                         case .success:
638 |                             promise.succeed(auth)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClient.swift:622:14: warning: concurrently-executed local function 'workflow' must be marked as '@Sendable'
620 |     ) -> EventLoopFuture<MQTTPacket> {
621 |         let promise = eventLoop.makePromise(of: MQTTPacket.self)
622 |         func workflow(_ packet: MQTTAuthPacket) {
    |              `- warning: concurrently-executed local function 'workflow' must be marked as '@Sendable'
623 |             let auth = MQTTAuthV5(reason: packet.reason, properties: packet.properties)
624 |             authWorkflow(auth, eventLoop)
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClientV5.swift:190:27: warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
188 |                     return eventLoop.makeSucceededFuture(auth)
189 |                 }
190 |                 guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
    |                           |- warning: capture of 'authWorkflow' with non-sendable type '((MQTTAuthV5, any EventLoop) -> EventLoopFuture<MQTTAuthV5>)?' in a '@Sendable' closure
    |                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 |                 return self.client.processAuth(authPacket, authWorkflow: authWorkflow, on: eventLoop)
192 |             }
/host/spi-builder-workspace/Sources/MQTTNIO/MQTTClientV5.swift:191:24: warning: capture of 'self' with non-sendable type 'MQTTClient.V5' in a '@Sendable' closure
 16 | extension MQTTClient {
 17 |     /// Provides implementations of functions that expose MQTT Version 5.0 features
 18 |     public struct V5 {
    |                   `- note: consider making struct 'V5' conform to the 'Sendable' protocol
 19 |         let client: MQTTClient
 20 |
    :
189 |                 }
190 |                 guard let authWorkflow else { return eventLoop.makeFailedFuture(MQTTError.authWorkflowRequired) }
191 |                 return self.client.processAuth(authPacket, authWorkflow: authWorkflow, on: eventLoop)
    |                        `- warning: capture of 'self' with non-sendable type 'MQTTClient.V5' in a '@Sendable' closure
192 |             }
193 |             .flatMapThrowing { response -> MQTTAuthV5 in
Build complete! (125.18s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-atomics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-atomics.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.80.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-ssl",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.14.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-ssl.git"
    },
    {
      "identity" : "swift-nio-transport-services",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.20.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-transport-services.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "mqtt-nio",
  "name" : "mqtt-nio",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "MQTTNIO",
      "targets" : [
        "MQTTNIO"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MQTTNIOTests",
      "module_type" : "SwiftTarget",
      "name" : "MQTTNIOTests",
      "path" : "Tests/MQTTNIOTests",
      "sources" : [
        "CoreMQTTTests.swift",
        "MQTTNIOTests+async.swift",
        "MQTTNIOTests.swift",
        "MQTTNIOv5Tests.swift"
      ],
      "target_dependencies" : [
        "MQTTNIO"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MQTTNIO",
      "module_type" : "SwiftTarget",
      "name" : "MQTTNIO",
      "path" : "Sources/MQTTNIO",
      "product_dependencies" : [
        "Atomics",
        "Logging",
        "NIO",
        "NIOConcurrencyHelpers",
        "NIOHTTP1",
        "NIOWebSocket",
        "NIOSSL",
        "NIOTransportServices"
      ],
      "product_memberships" : [
        "MQTTNIO"
      ],
      "sources" : [
        "AsyncAwaitSupport/MQTTClient+async.swift",
        "AsyncAwaitSupport/MQTTClientV5+async.swift",
        "AsyncAwaitSupport/Sendable.swift",
        "ChannelHandlers/MQTTMessageDecoder.swift",
        "ChannelHandlers/MQTTMessageHandler.swift",
        "ChannelHandlers/MQTTTaskHandler.swift",
        "ChannelHandlers/PingreqHandler.swift",
        "ChannelHandlers/WebSocketHandler.swift",
        "ChannelHandlers/WebSocketInitialRequest.swift",
        "MQTTClient.swift",
        "MQTTClientV5.swift",
        "MQTTConfiguration.swift",
        "MQTTConnection.swift",
        "MQTTCoreTypes.swift",
        "MQTTCoreTypesV5.swift",
        "MQTTError.swift",
        "MQTTInflight.swift",
        "MQTTListeners.swift",
        "MQTTPacket.swift",
        "MQTTProperties.swift",
        "MQTTReason.swift",
        "MQTTSerializer.swift",
        "MQTTTask.swift",
        "TSTLSConfiguration.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.