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

Allow adding InstanceIds durning runtime #351

Conversation

rschrader
Copy link

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.

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.
@rschrader
Copy link
Author

related to #349

@rschrader
Copy link
Author

@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?

@DiogoPedrozza
Copy link
Collaborator

DiogoPedrozza commented Mar 8, 2023

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.

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.

4 participants