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

Add and expose settings for SD find debounce as config options #716

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

tommyhaley
Copy link

In this change a configurable initial debounce
interval for SD find as well as a configurable
number of initial debounces are introduced. This
implies that services requested in the initial
debounce phase will at most wait for an initial
debounce interval before being included in a SD
find debounce. After the initial debounce phase is completed, all subsequent SD find debounces will
use the default debounce interval.

Added and exposed options:

  • find_initial_debounce_reps
  • find_initial_debounce_time

Exposed option:

  • find_debounce_time

In this change a configurable initial debounce
interval for SD find as well as a configurable
number of initial debounces are introduced. This
implies that services requested in the initial
debounce phase will at most wait for an initial
debounce interval before being included in a SD
find debounce. After the initial debounce phase is
completed, all subsequent SD find debounces will
use the default debounce interval.

Added and exposed options:
* find_initial_debounce_reps
* find_initial_debounce_time

Exposed option:
* find_debounce_time
@tommyhaley tommyhaley marked this pull request as ready for review June 5, 2024 12:05
@tommyhaley
Copy link
Author

@GenivivSOMEIPmaintainer How to get attention from maintainer/reviewer?

…ons"

Changed find_initial_debounce_reps from uint32_t to uint8_t
Simplified propsed logic change in service_discovery_impl

This commit should be squashed into previous.
@lutzbichler
Copy link
Collaborator

Could you please add some comment on why this is needed?

@tommyhaley
Copy link
Author

It is not trivial to ensure that the SD Find messages associated with a given someip application is included in the 1st SD Find sent out by the vsomeip router and the 2nd SD message is typically sent out significantly later (by default debounce is 500 ms).

This change provides the possibility to debounce a configurable number of "initial SD Find" at a higher rate than default rate, which is important for vsomeip applications with requirements to get their SD Find sent out "early".

If the vsomeip application didn't manage to register (and request service) at the vsomeip router before the 1st SD Find debounce but shortly after, then the 2nd SD Find debounce (which will include the requested service) will be sent out only e.g. 100 ms later than the 1st SD Find debounce (and 400 ms earlier compared with if default debounce rate was used).

See examples below where where I.W. denote "Random Initial Wait"

Default debounce (timer 500 ms)
|I.W. |..................................................|..................................................|..................................................|...

Three initial debounces (timer 100 ms)
|I.W. |..........|..........|..........|..................................................|..................................................|..................................................|...

@duartenfonseca
Copy link
Collaborator

duartenfonseca commented Nov 19, 2024

hi @tommyhaley a9df07e this commit adds some of the changes you requested.
this way you can change the sd find debounce time for a service.
would this be enough for your needs or you have to add the rest to have it working correctly?

@tommyhaley
Copy link
Author

hi @tommyhaley a9df07e this commit adds some of the changes you requested. this way you can change the sd find debounce time for a service. would this be enough for your needs or you have to add the rest to have it working correctly?

No, it is most likely not sufficient, as it only exposes SD Find Debounce Time as config option but not allowing for SD Find Initial Debounce Time and SD Find Initial Debounce Reps.

@duartenfonseca
Copy link
Collaborator

@tommyhaley will test and try to add the changes internally. can you fix the merge conflicts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants