Modify network detection on QNX to delay SD#841
Draft
kheaactua wants to merge 1 commit intoCOVESA:masterfrom
Draft
Modify network detection on QNX to delay SD#841kheaactua wants to merge 1 commit intoCOVESA:masterfrom
kheaactua wants to merge 1 commit intoCOVESA:masterfrom
Conversation
Implemented a "simple_connector" to mimic the netlink_connector available on Linux. This connector, along with vsomeip3.5.4 introduction of the RS_DELAYED_RESUME routing state, allows us to delay SD until the network is available. The simple_connector works by using QNX's waitfor to wait for a file whose creation indicates network availability. This file is created externally. The simple_connector does not continue to monitor the network. It simply notifies the routing_manager the first time the network is available. That said, the interface does allow for easy extension in the future This behaviour is controlled with the env vars VSOMEIP_USE_ASYNCHRONOUS_SD and VSOMEIP_WAIT_FOR_INTERFACE. An alternative implementation would be to use PPS, but that isn't available by default on our deployment of QNX 7. This implementation has a reduced foot print from earlier implementations and also does not modify any interfaces. Notes: - There is no timeout on the waitfor. The original implementation had a configurable timeout, however because timing out left us in an error state anyways, this timeout was removed (raised to numeric_limits<int>::max() = ~45 days, give or take.)
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
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.
Overview
Introducing a
simple_connectorto mimic thenetlink_connector(in a very limited way) on QNX. This PR is not intended to be merged upstream, but instead serves as a discussion topic and example.Description
Implemented a "simple_connector" to mimic the
netlink_connectoravailable on Linux. This connector, along with vsomeip3.5.4 introduction of theRS_DELAYED_RESUMErouting state, allows us to delay SD until the network is available.The simple_connector works by using QNX's
waitforto wait for a file whose creation indicates network availability. This file is created externally.The
simple_connectordoes not continue to monitor the network. It simply notifies the routing_manager the first time the network is available.That said, the interface does allow for easy extension in the future
This behaviour is controlled with the env vars
VSOMEIP_USE_ASYNCHRONOUS_SDandVSOMEIP_WAIT_FOR_INTERFACE.An alternative implementation would be to use PPS, but that isn't available by default on our deployment of QNX 7.
This implementation has a reduced foot print from earlier implementations and also does not modify any interfaces.
Notes
waitfor. The original implementation had a configurable timeout, however because timing out left us in an error state anyways, this timeout was removed (raised tonumeric_limits<int>::max()= ~45 days, give or take.)