vsomeip
vsomeip copied to clipboard
Allow adding InstanceIds durning runtime
To allow creating services instances during runtime it was necessary to provide the necessary ports used for communictation. Therefore new parameters for the service configuration in the vsomeip.json were created. "dynamic_instance_unrealiable" and "dynamic_instance_reliable" both are defining a port range that can be used for instances created during runtime. Also an service that has no predefined instance is marked with the parameter dynamic_instance = "true". In this case its not necessary to define a instance in the configuration.
Example Service Definition: { "service" : "1010", "dynamic_instance" : "true", "dynamic_instance_unreliable": { "first":30005, "last": 30010 }, ... }
The port list is handled by the configuration module. The configuration offers new methods (claim_port_reliable and claim_port_unreliable) to claim a port for a new instance. For each dynamic service a template service is kept.
Additionally the routing_manager was extended so that dynamic instances are created by using the template service when an offer_service for an unknown instance on a dynamic service is called and a port for the instance is claimed.
related to #349
@GenivivSOMEIPmaintainer, @lutzbichler I am not sure if you are the right person to contact. I am wondering if there is something missing for this PR to be processed or if there is no interest in this feature in general. Could you please give some feedback on how to proceed?
The following PR is not accepted and will be closed since most of the same functionalities can already be achieved by using an already existing application::update_service_configuration. As per our internal discussion it is believed to not be necessary.