-
Notifications
You must be signed in to change notification settings - Fork 766
3.5.6 new commits #893
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
Merged
Merged
3.5.6 new commits #893
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Summary
Enable configuration of client-specific debouncing
Details
Client-specific configuration did already exist. They could be done using the
vsomeip-lib API ("subscribe_with_debounce"). They could also be added to the
configuration. But this did not have the desired effect. With this PR, you can
configure a global debouncing as well as overrides for specific clients.
Summary Allow global configuration of maximum (additional) dispatchers and dispatch time Details The maximum number of (additional) dispatchers is predefined to 10 and the maximum dispatch time is predefined to 100ms. This can be overwritten by application specific settings, but cannot be globally changed. This pull request enables a global setting of the two values. These can still be overwritten by application specific values.
Summary Minor logging changes, mainly hex values or typos Removed the numbering of the configurations
Summary Remove pending subscription entry right after calling on_subscription from application impl Details Removing a pending subscription from pending subscriptions map fixes a problem where pending subscriptions where being remove only on the lambda function passed to on_subscription, and if the on_subscription function was stuck and the client received another on_routing_info message before the pending subscription was removed that subscription would be processed multiple times
Summary Unspecify catch exception. boost exceptions are not part of std::exception, at least in the Android platform.
Summary Force endpoint to perform port assignment when network interface becomes available. Details When the network interface goes down, all vSomeIP clients stop both their local vsomeip client and server endpoints. When the server endpoint is stopped, the assigned port is "released" and can be assigned to another server endpoint. At that instance, if a VSIP instance is created, its endpoints creation are postponed until the interface becomes available, when it does, the new instance might reuse the ports assigned to another instance that still has to "rebind" the socket. This solution forces all endpoints to redo the ports assignment process when the network interface becomes available. For duplicated notifications, the endpoint does not redo the assignment process.
Summary Removes the interface index when we get a RTM_DELLINK Details Resetting the flag on DELADDR/DELLINK results in incorrect/no reporting when the interfaces comes up again. Erase the entry instead. It will be redone on NEWADDR when the interface/address comes up again.
Summary Added additional offer check on responses/notifications Details For each received response/notification, call is_client_allowed_to_offer to check whether the sending client is allowed to offer the service. This is done only for internal TCP communication; for UDS the check is done with the bound client.
Summary Reset routing root on net_state_change off. Also check on local_tcp_client and local_uds_client if socket is open before sending. Details If the local interface gets toggles down/up, while also clients are being created, there could be the case where 2 clients get the same port assigned. This was resolved by Perform endpoint port assignment on vnet on However, in that PR the clients always reset their local endpoints, while the host didn't. This PR fixes a new scenario where the Host could have a race condition while a client was registering and the host it self was handling the deregistration of the same client, due to the endpoint reset. To fix this the Host also needs to reset its local client endpoint (root_) when the local interface goes down and clear its local client connections. Also the local client endpoints need to check if the socket is open before triggering an async_write operation, like its done for the external tcp endpoints, to avoid getting stuck in a broken pipe error loop.
Summary Add missing mutex on request_debounce_timeout_ck and reset request_debounce_timer_running_ if requests_to_debounce_ is empty Details A missing request was not being sent, caused by the execution of release_service while request_debounce_timer_ was elapsing. The release_service function would delete a service from requests_to_debounce while request_debounce_timer_.expires_from_now was running and when request_debounce_timeout_cbk was called, it would not do anything because requests_to_debounce_ was empty. Not resetting request_debounce_timer_running_ would prevent further requests from being sent. A missing mutex, guarding the state, was also added
Summary start endpoint only on creation, reset is_sending_ and switch order of start_connecting_timer() and connecting_timer_state_ change execution Details As it was, endpoints would start every time find_or_create_local would execute, even if endpoint already existed. The boolean is_sending_ was not being set to false on broken pipe or operation aborted. Also added error message to logs on those cases. start_connecting_timer() was being executed before setting connecting_timer_state_ to IN_PROGRESS. Added additional log to inform about endpoint state upon successful connection
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.