Skip to content

Introduce separate data channels for each local service instance element#14

Open
mariuswbr wants to merge 2 commits intoeclipse-score:mainfrom
etas-contrib:separate_data_channels
Open

Introduce separate data channels for each local service instance element#14
mariuswbr wants to merge 2 commits intoeclipse-score:mainfrom
etas-contrib:separate_data_channels

Conversation

@mariuswbr
Copy link
Contributor

@mariuswbr mariuswbr commented Jan 15, 2026

This PR introduces separate data channels (IPC connections via Proxy/Skeleton pattern, using mw::com) between the gatewayd and the someipd for each local service instance element. A local service instance is an offered service by an application running on the same ECU as the daemons. One of its elements would then be either an event or a method (or field as a composition of those).
Therefore instead of having one single Skeleton reference for all LocalServiceInstance objects for data transmission from gatewayd to someipd, there are now multiple Skeletons as part of the LocalServiceInstance class, one for each element.

The split into multiple data channels is done to ensure freedom from interference to a certain degree.
Furthermore scalability is another factor. Most of the SOME/IP messages will not need the full size of roughly ~1500 bytes.

The counterpart, the remote service instances shall be refactored in a similar fashion as soon as the GenericSkeleton is available from mw::com.

Resolves #8 partially.

@mariuswbr mariuswbr force-pushed the separate_data_channels branch from 1c6ec6e to 8d40f56 Compare January 15, 2026 17:04
@github-actions
Copy link

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.3.0) and connecting to it...
INFO: Invocation ID: 88c4a183-6068-470f-8966-01315bb0b40e
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 4 packages loaded
Loading: 4 packages loaded
    currently loading: 
Analyzing: target //:license-check (5 packages loaded, 0 targets configured)
Analyzing: target //:license-check (5 packages loaded, 0 targets configured)

Analyzing: target //:license-check (82 packages loaded, 9 targets configured)

Analyzing: target //:license-check (113 packages loaded, 264 targets configured)

Analyzing: target //:license-check (153 packages loaded, 2779 targets configured)

Analyzing: target //:license-check (155 packages loaded, 8775 targets configured)

Analyzing: target //:license-check (161 packages loaded, 22626 targets configured)

Analyzing: target //:license-check (161 packages loaded, 22626 targets configured)

INFO: Analyzed target //:license-check (164 packages loaded, 24642 targets configured).
[12 / 13] [Prepa] Generating Dash formatted dependency file ...
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 2 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 16.972s, Critical Path: 0.43s
INFO: 13 processes: 4 disk cache hit, 9 internal.
INFO: Build completed successfully, 13 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions
Copy link

The created documentation from the pull request is available at: docu-html

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.

Improvement: Separate data channels

1 participant