├── .gitignore ├── LICENSE ├── Package.swift ├── README.md ├── Sources ├── AsyncBluetooth.swift ├── CentralManager │ ├── CentralManager.swift │ ├── CentralManagerContext.swift │ ├── CentralManagerEvent.swift │ └── ScanData.swift ├── DataConversion │ └── PeripheralDataConvertible.swift ├── Peripheral │ ├── BluetoothError.swift │ ├── Characteristic.swift │ ├── CharacteristicValueUpdateEventData.swift │ ├── Descriptor.swift │ ├── Extensions │ │ ├── Characteristic+DataConversion.swift │ │ ├── CharacteristicValueUpdateData+DataConversion.swift │ │ └── Peripheral+ReadWrite.swift │ ├── Peripheral.swift │ ├── PeripheralContext.swift │ ├── PeripheralDelegate.swift │ └── Service.swift ├── PrivacyInfo.xcprivacy └── Utils │ ├── AsyncBluetoothLogging.swift │ ├── AsyncExecutorMap.swift │ ├── AsyncSerialExecutor.swift │ ├── AsyncSerialExecutorConstants.swift │ ├── CallbackUtils.swift │ ├── CentralManagerUtils.swift │ ├── Extensions │ ├── AsyncExecutor+Flushable.swift │ └── CBUUID+Sendable.swift │ ├── FlushableExecutor.swift │ └── ThreadSafeArray.swift └── Tests ├── AsyncExecutorMapTests.swift ├── AsyncSerailExecutorTests.swift ├── CentralManagerUtilsTests.swift └── PeripheralDataConversionTests.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/README.md -------------------------------------------------------------------------------- /Sources/AsyncBluetooth.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/AsyncBluetooth.swift -------------------------------------------------------------------------------- /Sources/CentralManager/CentralManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/CentralManager/CentralManager.swift -------------------------------------------------------------------------------- /Sources/CentralManager/CentralManagerContext.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/CentralManager/CentralManagerContext.swift -------------------------------------------------------------------------------- /Sources/CentralManager/CentralManagerEvent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/CentralManager/CentralManagerEvent.swift -------------------------------------------------------------------------------- /Sources/CentralManager/ScanData.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/CentralManager/ScanData.swift -------------------------------------------------------------------------------- /Sources/DataConversion/PeripheralDataConvertible.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/DataConversion/PeripheralDataConvertible.swift -------------------------------------------------------------------------------- /Sources/Peripheral/BluetoothError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/BluetoothError.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Characteristic.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Characteristic.swift -------------------------------------------------------------------------------- /Sources/Peripheral/CharacteristicValueUpdateEventData.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/CharacteristicValueUpdateEventData.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Descriptor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Descriptor.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Extensions/Characteristic+DataConversion.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Extensions/Characteristic+DataConversion.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Extensions/CharacteristicValueUpdateData+DataConversion.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Extensions/CharacteristicValueUpdateData+DataConversion.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Extensions/Peripheral+ReadWrite.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Extensions/Peripheral+ReadWrite.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Peripheral.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Peripheral.swift -------------------------------------------------------------------------------- /Sources/Peripheral/PeripheralContext.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/PeripheralContext.swift -------------------------------------------------------------------------------- /Sources/Peripheral/PeripheralDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/PeripheralDelegate.swift -------------------------------------------------------------------------------- /Sources/Peripheral/Service.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Peripheral/Service.swift -------------------------------------------------------------------------------- /Sources/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/PrivacyInfo.xcprivacy -------------------------------------------------------------------------------- /Sources/Utils/AsyncBluetoothLogging.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/AsyncBluetoothLogging.swift -------------------------------------------------------------------------------- /Sources/Utils/AsyncExecutorMap.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/AsyncExecutorMap.swift -------------------------------------------------------------------------------- /Sources/Utils/AsyncSerialExecutor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/AsyncSerialExecutor.swift -------------------------------------------------------------------------------- /Sources/Utils/AsyncSerialExecutorConstants.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/AsyncSerialExecutorConstants.swift -------------------------------------------------------------------------------- /Sources/Utils/CallbackUtils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/CallbackUtils.swift -------------------------------------------------------------------------------- /Sources/Utils/CentralManagerUtils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/CentralManagerUtils.swift -------------------------------------------------------------------------------- /Sources/Utils/Extensions/AsyncExecutor+Flushable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/Extensions/AsyncExecutor+Flushable.swift -------------------------------------------------------------------------------- /Sources/Utils/Extensions/CBUUID+Sendable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/Extensions/CBUUID+Sendable.swift -------------------------------------------------------------------------------- /Sources/Utils/FlushableExecutor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/FlushableExecutor.swift -------------------------------------------------------------------------------- /Sources/Utils/ThreadSafeArray.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Sources/Utils/ThreadSafeArray.swift -------------------------------------------------------------------------------- /Tests/AsyncExecutorMapTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Tests/AsyncExecutorMapTests.swift -------------------------------------------------------------------------------- /Tests/AsyncSerailExecutorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Tests/AsyncSerailExecutorTests.swift -------------------------------------------------------------------------------- /Tests/CentralManagerUtilsTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Tests/CentralManagerUtilsTests.swift -------------------------------------------------------------------------------- /Tests/PeripheralDataConversionTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manolofdez/AsyncBluetooth/HEAD/Tests/PeripheralDataConversionTests.swift --------------------------------------------------------------------------------