-
Notifications
You must be signed in to change notification settings - Fork 181
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
Services: Improved behavior when the first route to the server doesn't work #1343
Conversation
…t work Before, the Service Client would only try the very first route to the Service Server. Now, it will go through all routes until it finds one that works.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
On GH Actions, some Unit Tests are now failing:
It also fails locally on my machine @FlorianReimold |
eCAL detects "disconnections" by a "failed re-connection". That re-connection however takes a little more time now, as we try all available routes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally, I approve, however, I do have one question.
The test increase the timeout to 20seconds. In real life, how long does the host name resolution take and is it done synchronously or asynchonously?
Technically speaking, the hostname resolution is async:
I don't know how long the hostname resolution takes. I think it is "fast". But obviously, you need to wait for the hostname resolution and the connection establishement to finish, before the service can return any response. The reason for the high timeout is, that eCAL doesn't use the immediate callbacks from the service library How it should be:
How I think it is implemented:
|
Description
Before, the Service Client would only try the very first route to the Service Server. Now, it will go through all routes until it finds one that works.
Cherry-pick to