Skip to content

Commit

Permalink
Updated README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
danielepantaleone committed Oct 26, 2024
1 parent 2ff69d8 commit 8992e84
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,17 @@ This combination of asynchronous communication, event-driven architecture, and t

## Feature Highlights

- Supports both iOS and macOS.
- Fully covered by unit tests.
- Replaces the delegate-based interface of **`CBCentralManager`** and **`CBPeripheral`** with closures and Swift concurrency (async/await).
- Delivers event notifications via Combine publishers for both **`CBCentralManager`** and **`CBPeripheral`**.
- Includes connection timeout handling for **`CBPeripheral`**.
- Includes characteristic operations timeout handling for **`CBPeripheral`** (discovery, read, write, set notify).
- Provides direct interaction with **`CBPeripheral`** characteristics with no need to manage **`CBPeripheral`** data.
- Provides an optional cache policy for **`CBPeripheral`** data retrieval, ideal for scenarios where characteristic data remains static over time.
- Provides automatic service/characteristic discovery when characteristic operations are requested (read, write, set notify).
- Correct routing of **`CBCentralManager`** disconnection events towards connection failure publisher and callbacks if the connection didn't happen at all.
- Facilitates unit testing by supporting BLE central and peripheral mocks, enabling easier testing for libraries and apps that interact with BLE peripherals.
- [x] Supports both iOS and macOS.
- [x] Fully covered by unit tests.
- [x] Replaces the delegate-based interface of **`CBCentralManager`** and **`CBPeripheral`** with closures and Swift concurrency (async/await).
- [x] Delivers event notifications via Combine publishers for both **`CBCentralManager`** and **`CBPeripheral`**.
- [x] Includes connection timeout handling for **`CBPeripheral`**.
- [x] Includes characteristic operations timeout handling for **`CBPeripheral`** (discovery, read, write, set notify).
- [x] Provides direct interaction with **`CBPeripheral`** characteristics with no need to manage **`CBPeripheral`** data.
- [x] Provides an optional cache policy for **`CBPeripheral`** data retrieval, ideal for scenarios where characteristic data remains static over time.
- [x] Provides automatic service/characteristic discovery when characteristic operations are requested (read, write, set notify).
- [x] Correct routing of **`CBCentralManager`** disconnection events towards connection failure publisher and callbacks if the connection didn't happen at all.
- [x] Facilitates unit testing by supporting BLE central and peripheral mocks, enabling easier testing for libraries and apps that interact with BLE peripherals.

## Usage

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -470,8 +470,9 @@ extension BleCentralManagerProxy {
return
}

// Register a callback to be executed when the central state is powered on.
registerCallback(store: &waitUntilReadyCallbacks, callback: callback)

// Start tracking state change timeout.
startWaitUntilReadyTimer(timeout: timeout)

}
Expand Down

0 comments on commit 8992e84

Please sign in to comment.