Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support primary services as a discovery criteria #16

Open
1 task done
Supereg opened this issue Feb 20, 2024 · 0 comments
Open
1 task done

Support primary services as a discovery criteria #16

Supereg opened this issue Feb 20, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@Supereg
Copy link
Member

Supereg commented Feb 20, 2024

Problem

Currently, advertisedService is the only discovery criteria we support. However, devices do not always advertise their primary service. Therefore, a primaryService discovery criteria would be great. Additionally, in development environments it would be equally beneficial if we support a name-based discovery criteria.

Solution

To implement the primaryService is similar to advertisedService with the only difference that we cannot match discovered peripherals to their DeviceConfiguration immediately. We will first need to discovery all their services (or try to discover all configured primary services we are interested) to match their device configuration and then discovering all their services in a second step. So this requires a 2-step service discovery approach which might induce some reengineering and new models in the BluetoothPeripheral actor.

The name discovery criteria requires a different approach. As CoreBluetooth cannot filter by names, we would need to discover all nearby peripherals and only dynamically filter by their name. This has performance impacts and therefore is only recommended in development environments. We might reconsider the importance of this feature based on this impact.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines
@Supereg Supereg added the enhancement New feature or request label Feb 20, 2024
@Supereg Supereg changed the title Minor feature request: Remove this title with a descriptive title. Support primary services as a discovery criteria Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Backlog
Development

No branches or pull requests

1 participant