Build Information
Successful build of mqtt-nio, reference main (ee105d
), with Swift 6.1 for Android on 12 Aug 2025 17:21:00 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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.65.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swift-server-community/mqtt-nio.git
Reference: main
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
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ee105d0 Bump actions/checkout from 4 to 5 in the dependencies group (#174)
Cloned https://github.com/swift-server-community/mqtt-nio.git
Revision (git rev-parse @):
ee105d0216a01ff6767115068b425468d1670b20
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swift-server-community/mqtt-nio.git at main
========================================
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-3":/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:873b43b7be6289c04a5a3fd4b2c372c2a5abf90643451079297d3dc6dc0b7d36
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-nio-transport-services.git
[1/3886] Fetching swift-log
[2/5694] Fetching swift-log, swift-atomics
[59/8395] Fetching swift-log, swift-atomics, swift-nio-transport-services
[297/10489] Fetching swift-log, swift-atomics, swift-nio-transport-services, swift-docc-plugin
[8627/25492] Fetching swift-log, swift-atomics, swift-nio-transport-services, swift-docc-plugin, swift-nio-ssl
[10058/102883] Fetching swift-log, swift-atomics, swift-nio-transport-services, swift-docc-plugin, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-nio-transport-services.git from cache (1.36s)
[10363/100182] Fetching swift-log, swift-atomics, swift-docc-plugin, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-log.git from cache (1.53s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.57s)
[7155/94202] Fetching swift-atomics, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-atomics.git from cache (3.84s)
[76142/92394] Fetching swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-nio-ssl.git from cache (6.73s)
Fetched https://github.com/apple/swift-nio.git from cache (6.81s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.0 (8.25s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.86.0 (1.88s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-system.git
[1/4847] Fetching swift-system
[4848/21800] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (1.50s)
Fetched https://github.com/apple/swift-collections.git from cache (1.53s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.6.2 (2.25s)
Computing version for https://github.com/apple/swift-nio-transport-services.git
Computed https://github.com/apple/swift-nio-transport-services.git at 1.25.1 (0.78s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.2.1 (11.24s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (0.90s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3451] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.87s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.82s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.4 (0.54s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.33.0 (0.77s)
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.25.1
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-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.33.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.3.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.86.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.4
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.1
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.5
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.6.2
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/34] Write sources
[19/34] Compiling _AtomicsShims.c
[20/34] Compiling CNIOWindows shim.c
[21/34] Compiling CNIOLLHTTP c_nio_http.c
[22/34] Compiling CNIOWindows WSAStartup.c
[23/34] Compiling CNIOWASI CNIOWASI.c
[24/34] Compiling CNIOLLHTTP c_nio_api.c
[25/34] Compiling CNIOPosix event_loop_id.c
[26/34] Compiling CNIOLinux liburing_shims.c
[27/34] Compiling CNIODarwin shim.c
[28/34] Compiling CNIOSHA1 c_nio_sha1.c
[29/34] Write swift-version-24593BA9C3E375BF.txt
[30/34] Compiling CNIOLinux shim.c
[31/55] Compiling CNIOLLHTTP c_nio_llhttp.c
[33/77] Emitting module _NIODataStructures
[34/77] Emitting module Logging
[35/77] Emitting module Atomics
[36/79] Compiling Atomics UnsafeAtomic.swift
[37/79] Compiling Atomics UnsafeAtomicLazyReference.swift
[38/79] Compiling _NIODataStructures _TinyArray.swift
[39/79] Compiling _NIODataStructures PriorityQueue.swift
[40/79] Compiling Atomics ManagedAtomic.swift
[41/79] Compiling Atomics ManagedAtomicLazyReference.swift
[42/79] Compiling _NIODataStructures Heap.swift
[43/79] Emitting module _NIOBase64
[44/79] Compiling _NIOBase64 Base64.swift
[45/80] Compiling Atomics PointerConformances.swift
[46/80] Compiling Atomics Primitives.native.swift
[47/80] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[48/80] Compiling Atomics AtomicBool.swift
[49/80] Compiling Atomics IntegerConformances.swift
[50/82] Compiling Atomics AtomicStorage.swift
[51/82] Compiling Atomics AtomicValue.swift
[52/82] Compiling Atomics AtomicMemoryOrderings.swift
[53/82] Compiling Atomics DoubleWord.swift
[54/82] Emitting module InternalCollectionsUtilities
[55/82] Compiling Atomics OptionalRawRepresentable.swift
[56/82] Compiling Atomics RawRepresentable.swift
[59/82] Compiling c-nioatomics.c
[61/82] Compiling Atomics AtomicReference.swift
[63/82] Compiling Atomics AtomicInteger.swift
[64/82] Compiling Atomics AtomicOptionalWrappable.swift
[72/82] Compiling Atomics IntegerOperations.swift
[73/82] Compiling Atomics Unmanaged extensions.swift
[77/83] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[79/84] Compiling c-atomics.c
[81/105] Compiling DequeModule _DequeBuffer.swift
[82/105] Compiling DequeModule _DequeBufferHeader.swift
[83/105] Compiling DequeModule Deque+Equatable.swift
[84/105] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[85/105] Compiling DequeModule Deque+Extras.swift
[86/105] Compiling DequeModule Deque+Hashable.swift
[87/107] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[88/107] Compiling NIOConcurrencyHelpers NIOLock.swift
[89/107] Compiling NIOConcurrencyHelpers lock.swift
[90/107] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[91/107] Compiling DequeModule _DequeSlot.swift
[92/107] Compiling DequeModule _UnsafeWrappedBuffer.swift
[93/107] Compiling DequeModule Deque+Testing.swift
[94/107] Compiling DequeModule Deque._Storage.swift
[95/107] Compiling DequeModule Deque+CustomReflectable.swift
[96/107] Compiling DequeModule Deque+Descriptions.swift
[97/107] Compiling DequeModule Deque._UnsafeHandle.swift
[98/107] Compiling DequeModule Deque.swift
[99/107] Emitting module NIOConcurrencyHelpers
[100/107] Emitting module DequeModule
[101/107] Compiling DequeModule Deque+Codable.swift
[102/107] Compiling DequeModule Deque+Collection.swift
[103/108] Compiling NIOConcurrencyHelpers atomics.swift
[106/170] Compiling Logging MetadataProvider.swift
[107/170] Compiling Logging LogHandler.swift
[108/170] Compiling Logging Locks.swift
[109/170] Compiling Logging Logging.swift
[111/171] Compiling NIOCore IOData.swift
[112/171] Compiling NIOCore IPProtocol.swift
[113/171] Compiling NIOCore IntegerBitPacking.swift
[114/171] Compiling NIOCore IntegerTypes.swift
[115/171] Compiling NIOCore Interfaces.swift
[116/171] Compiling NIOCore Linux.swift
[117/171] Compiling NIOCore MarkedCircularBuffer.swift
[118/171] Compiling NIOCore MulticastChannel.swift
[119/171] Compiling NIOCore NIOAny.swift
[120/171] Compiling NIOCore NIOCloseOnErrorHandler.swift
[121/171] Compiling NIOCore NIOCoreSendableMetatype.swift
[122/171] Compiling NIOCore NIOLoopBound.swift
[123/171] Compiling NIOCore NIOPooledRecvBufferAllocator.swift
[124/171] Compiling NIOCore NIOScheduledCallback.swift
[125/171] Compiling NIOCore NIOSendable.swift
[126/171] Compiling NIOCore RecvByteBufferAllocator.swift
[127/171] Compiling NIOCore EventLoopFuture+Deprecated.swift
[128/171] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[129/171] Compiling NIOCore EventLoopFuture.swift
[130/171] Compiling NIOCore FileDescriptor.swift
[131/171] Compiling NIOCore FileHandle.swift
[132/171] Compiling NIOCore FileRegion.swift
[133/171] Compiling NIOCore GlobalSingletons.swift
[134/171] Compiling NIOCore IO.swift
[135/179] Compiling NIOCore CircularBuffer.swift
[136/179] Compiling NIOCore Codec.swift
[137/179] Compiling NIOCore ConvenienceOptionSupport.swift
[138/179] Compiling NIOCore DeadChannel.swift
[139/179] Compiling NIOCore DispatchQueue+WithFuture.swift
[140/179] Compiling NIOCore EventLoop+Deprecated.swift
[141/179] Compiling NIOCore EventLoop+SerialExecutor.swift
[142/179] Compiling NIOCore EventLoop.swift
[143/179] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[144/179] Compiling NIOCore AddressedEnvelope.swift
[145/179] Compiling NIOCore AsyncAwaitSupport.swift
[146/179] Compiling NIOCore AsyncChannel.swift
[147/179] Compiling NIOCore AsyncChannelHandler.swift
[148/179] Compiling NIOCore AsyncChannelInboundStream.swift
[149/179] Compiling NIOCore AsyncChannelOutboundWriter.swift
[150/179] Compiling NIOCore NIOAsyncSequenceProducer.swift
[151/179] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[152/179] Compiling NIOCore NIOAsyncWriter.swift
[153/179] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[154/179] Compiling NIOCore BSDSocketAPI.swift
[155/179] Compiling NIOCore ByteBuffer-aux.swift
[156/179] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[157/179] Compiling NIOCore ByteBuffer-conversions.swift
[158/179] Compiling NIOCore ByteBuffer-core.swift
[159/179] Compiling NIOCore ByteBuffer-hex.swift
[160/179] Compiling NIOCore ByteBuffer-int.swift
[161/179] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[162/179] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[163/179] Compiling NIOCore SocketAddresses.swift
[164/179] Compiling NIOCore SocketOptionProvider.swift
[165/179] Compiling NIOCore SystemCallHelpers.swift
[166/179] Compiling NIOCore TimeAmount+Duration.swift
[167/179] Compiling NIOCore TypeAssistedChannelHandler.swift
[168/179] Compiling NIOCore UniversalBootstrapSupport.swift
[169/179] Compiling NIOCore Utilities.swift
[170/179] Emitting module NIOCore
[171/179] Compiling NIOCore ByteBuffer-multi-int.swift
[172/179] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[173/179] Compiling NIOCore ByteBuffer-views.swift
[174/179] Compiling NIOCore Channel.swift
[175/179] Compiling NIOCore ChannelHandler.swift
[176/179] Compiling NIOCore ChannelHandlers.swift
[177/179] Compiling NIOCore ChannelInvoker.swift
[178/179] Compiling NIOCore ChannelOption.swift
[179/179] Compiling NIOCore ChannelPipeline.swift
[181/232] Emitting module NIOEmbedded
[182/232] Compiling NIOEmbedded AsyncTestingChannel.swift
[183/232] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[184/232] Compiling NIOEmbedded Embedded.swift
[185/233] Compiling NIOPosix Pool.swift
[186/233] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[187/233] Compiling NIOPosix PosixSingletons.swift
[188/233] Compiling NIOPosix RawSocketBootstrap.swift
[189/233] Compiling NIOPosix Resolver.swift
[190/233] Compiling NIOPosix Selectable.swift
[191/233] Compiling NIOPosix SelectableChannel.swift
[193/239] Compiling NIOPosix IO.swift
[194/239] Compiling NIOPosix IntegerBitPacking.swift
[195/239] Compiling NIOPosix IntegerTypes.swift
[196/239] Compiling NIOPosix Linux.swift
[197/239] Compiling NIOPosix LinuxCPUSet.swift
[198/239] Compiling NIOPosix LinuxUring.swift
[199/239] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[200/239] Compiling NIOPosix SelectableEventLoop.swift
[201/239] Compiling NIOPosix SelectorEpoll.swift
[202/239] Compiling NIOPosix SelectorGeneric.swift
[203/239] Compiling NIOPosix SelectorKqueue.swift
[204/239] Compiling NIOPosix SelectorUring.swift
[205/239] Compiling NIOPosix ServerSocket.swift
[206/239] Compiling NIOPosix ThreadPosix.swift
[207/239] Compiling NIOPosix ThreadWindows.swift
[208/239] Compiling NIOPosix UnsafeTransfer.swift
[209/239] Compiling NIOPosix Utilities.swift
[210/239] Compiling NIOPosix VsockAddress.swift
[211/239] Compiling NIOPosix VsockChannelEvents.swift
[212/239] Emitting module NIOPosix
[213/239] Compiling NIOPosix Socket.swift
[214/239] Compiling NIOPosix SocketChannel.swift
[215/239] Compiling NIOPosix SocketProtocols.swift
[216/239] Compiling NIOPosix StructuredConcurrencyHelpers.swift
[217/239] Compiling NIOPosix System.swift
[218/239] Compiling NIOPosix Thread.swift
[219/239] Compiling NIOPosix NIOPosixSendableMetatype.swift
[220/239] Compiling NIOPosix NIOThreadPool.swift
[221/239] Compiling NIOPosix NonBlockingFileIO.swift
[222/239] Compiling NIOPosix PendingDatagramWritesManager.swift
[223/239] Compiling NIOPosix PendingWritesManager.swift
[224/239] Compiling NIOPosix PipeChannel.swift
[225/239] Compiling NIOPosix PipePair.swift
[226/239] Compiling NIOPosix BSDSocketAPICommon.swift
[227/239] Compiling NIOPosix BSDSocketAPIPosix.swift
[228/239] Compiling NIOPosix BSDSocketAPIWindows.swift
[229/239] Compiling NIOPosix BaseSocket.swift
[230/239] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[231/239] Compiling NIOPosix BaseSocketChannel.swift
[232/239] Compiling NIOPosix BaseStreamSocketChannel.swift
[233/239] Compiling NIOPosix Bootstrap.swift
[234/239] Compiling NIOPosix ControlMessage.swift
[235/239] Compiling NIOPosix DatagramVectorReadManager.swift
[236/239] Compiling NIOPosix Errors+Any.swift
[237/239] Compiling NIOPosix FileDescriptor.swift
[238/239] Compiling NIOPosix GetaddrinfoResolver.swift
[239/239] Compiling NIOPosix HappyEyeballs.swift
[241/242] Emitting module NIO
[242/242] Compiling NIO Exports.swift
[244/270] Compiling NIOTLS TLSEvents.swift
[245/270] Compiling NIOTLS ProtocolNegotiationHandlerStateMachine.swift
[246/270] Compiling NIOTLS NIOTypedApplicationProtocolNegotiationHandler.swift
[247/270] Emitting module NIOTLS
[248/270] Compiling NIOTLS ApplicationProtocolNegotiationHandler.swift
[249/270] Compiling NIOTLS SNIHandler.swift
[251/271] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[252/271] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[253/271] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[254/271] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[255/273] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[256/273] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[257/273] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[258/273] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[259/273] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[260/273] Compiling NIOHTTP1 HTTPTypes.swift
[261/273] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[262/273] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[263/273] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[264/273] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[265/273] Compiling NIOHTTP1 ByteCollectionUtils.swift
[266/273] Compiling NIOHTTP1 HTTPDecoder.swift
[267/273] Compiling NIOHTTP1 HTTPEncoder.swift
[268/273] Emitting module NIOHTTP1
[270/284] Compiling NIOFoundationCompat JSONSerialization+ByteBuffer.swift
[271/284] Compiling NIOFoundationCompat ByteBuffer-foundation.swift
[272/284] Compiling NIOFoundationCompat Codable+ByteBuffer.swift
[273/284] Emitting module NIOFoundationCompat
[274/284] Compiling NIOWebSocket WebSocketOpcode.swift
[275/285] Compiling NIOFoundationCompat WaitSpinningRunLoop.swift
[276/285] Compiling NIOWebSocket WebSocketFrameEncoder.swift
[278/286] Compiling NIOWebSocket WebSocketFrameDecoder.swift
[279/286] Compiling NIOWebSocket WebSocketErrorCodes.swift
[280/286] Compiling NIOWebSocket WebSocketFrame.swift
[281/286] Compiling NIOWebSocket NIOWebSocketClientUpgrader.swift
[282/286] Compiling NIOWebSocket NIOWebSocketFrameAggregator.swift
[283/286] Emitting module NIOWebSocket
[284/286] Compiling NIOWebSocket NIOWebSocketServerUpgrader.swift
[285/286] Compiling NIOWebSocket SHA1.swift
[286/286] Compiling NIOWebSocket WebSocketProtocolErrorHandler.swift
[288/309] Compiling NIOTransportServices NIOTSEventLoopGroup.swift
[289/309] Compiling NIOTransportServices NIOTSListenerBootstrap.swift
[290/309] Compiling NIOTransportServices NIOTSListenerChannel.swift
[291/309] Compiling NIOTransportServices NIOTSNetworkEvents.swift
[292/309] Compiling NIOTransportServices NIOTSSingletons.swift
[293/309] Compiling NIOTransportServices SocketAddress+NWEndpoint.swift
[294/309] Compiling NIOTransportServices AcceptHandler.swift
[295/309] Compiling NIOTransportServices NIOTSDatagramConnectionBootstrap.swift
[296/309] Compiling NIOTransportServices NIOTSDatagramConnectionChannel.swift
[297/311] Emitting module NIOTransportServices
[298/311] Compiling NIOTransportServices NIOTSBootstraps.swift
[299/311] Compiling NIOTransportServices NIOTSChannelOptions.swift
[300/311] Compiling NIOTransportServices NIOTSConnectionBootstrap.swift
[301/311] Compiling NIOTransportServices TCPOptions+SocketChannelOption.swift
[302/311] Compiling NIOTransportServices UDPOptions+SocketChannelOption.swift
[303/311] Compiling NIOTransportServices StateManagedChannel.swift
[304/311] Compiling NIOTransportServices StateManagedListenerChannel.swift
[305/311] Compiling NIOTransportServices StateManagedNWConnectionChannel.swift
[306/311] Compiling NIOTransportServices NIOTSConnectionChannel.swift
[307/311] Compiling NIOTransportServices NIOTSErrors.swift
[308/311] Compiling NIOTransportServices NIOTSEventLoop.swift
[309/311] Compiling NIOTransportServices NIOTSDatagramListenerBootstrap.swift
[310/311] Compiling NIOTransportServices NIOTSDatagramListenerChannel.swift
[311/311] Compiling NIOTransportServices NIOFilterEmptyWritesHandler.swift
[313/334] Compiling MQTTNIO MQTTError.swift
[314/334] Compiling MQTTNIO MQTTInflight.swift
[315/334] Compiling MQTTNIO MQTTListeners.swift
[316/337] 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
[317/337] 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
[318/337] 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | 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:1792:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1790 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1791 | /// `ChannelHandler`.
1792 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1793 | // visible for ChannelPipeline to modify
1794 | fileprivate var next: Optional<ChannelHandlerContext>
[319/337] 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
[320/337] 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
[321/337] 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
[322/337] Compiling MQTTNIO MQTTSerializer.swift
[323/337] Compiling MQTTNIO MQTTTask.swift
[324/337] Compiling MQTTNIO TSTLSConfiguration.swift
[325/337] Compiling MQTTNIO MQTTClient+async.swift
[326/337] Compiling MQTTNIO MQTTClientV5+async.swift
[327/337] Compiling MQTTNIO Sendable.swift
[328/337] Emitting module MQTTNIO
[329/337] 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
[330/337] 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
[331/337] 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
[332/337] 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
[333/337] 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
[334/337] 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
[335/337] Compiling MQTTNIO MQTTPacket.swift
[336/337] Compiling MQTTNIO MQTTProperties.swift
[337/337] Compiling MQTTNIO MQTTReason.swift
Build complete! (108.09s)
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:873b43b7be6289c04a5a3fd4b2c372c2a5abf90643451079297d3dc6dc0b7d36
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.