eclipse-iceoryx / eclipse-iceoryx/iceoryx

Service discovery example with multiple monitoring conditions

Open
#1,163 0 comments 0 reactions 1 assignee Claimed by @mossmaurice View on GitHub
example
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.