eclipse-iceoryx / eclipse-iceoryx/iceoryx
Service discovery example with multiple monitoring conditions
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
The example shall follow a SOA approach and have an API that is similar to Autosar `startFindService` and `stopFindService`.
The API should be more generic where possible but illustrate the support of the use case by iceoryx.
- monitor multiple services (or more generally, discovery conditions)
- react on changes of this conditions by calling user specified callbacks
- support multiple callbacks identified by handles
- register and deregister callbacks to start monitoring
## Detailed information
Except for the fact that we have some kind of discovery ABA problem, this kind of complex example can be implemented with the existing `findService` API and additional building blocks like listener and cxx::function.
ABA Problem: we can only react on the latest discovery change on application side, previous changes may go unnoticed.
Only the Roudi knows about these changes, and we are not storing the callbacks at Roudi (as they are to be executed by the app and not remotely).
This is a generalization of #1103
Contributor guide
Assessment
This issue has not been assessed yet.