Skip to content

feat: support static remote endpoint in ClientConfig (no SD)#15

Merged
vtz merged 1 commit intomainfrom
feat/static-remote-endpoint
Apr 18, 2026
Merged

feat: support static remote endpoint in ClientConfig (no SD)#15
vtz merged 1 commit intomainfrom
feat/static-remote-endpoint

Conversation

@vtz
Copy link
Copy Markdown
Owner

@vtz vtz commented Apr 18, 2026

Summary

  • Add an optional remote_endpoint field to ClientConfig and forward it to UdpTransport / TcpTransport during SomeIpClient construction.
  • This enables communication with SOME/IP servers that do not run Service Discovery (e.g. Zephyr-based MCU firmware with multicast TX disabled).
  • Both transports already accepted the parameter — it just wasn't wired through the high-level config. The field defaults to None, preserving existing SD-based behavior.

Closes #13

Changes

src/opensomeip/client.py

  • Added remote_endpoint: Endpoint | None = None field to ClientConfig
  • Updated SomeIpClient.__init__ to forward config.remote_endpoint to both TcpTransport and UdpTransport constructors

tests/unit/test_client.py

  • Added TestStaticRemoteEndpoint test class with 5 tests:
    • test_remote_endpoint_defaults_to_none — backward compatibility
    • test_udp_remote_endpoint_forwarded — UDP transport picks up the endpoint
    • test_tcp_remote_endpoint_forwarded — TCP transport picks up the endpoint
    • test_no_remote_endpoint_preserves_none — omitting the field preserves None
    • test_lifecycle_with_remote_endpoint — full start/stop cycle with static endpoint

Test plan

  • All 271 unit tests pass
  • 5 new tests cover the feature (both UDP and TCP paths, default/backward compat, lifecycle)
  • CI green

Made with Cursor

Add an optional `remote_endpoint` field to `ClientConfig` and forward it
to `UdpTransport` / `TcpTransport` during `SomeIpClient` construction.

This enables communication with SOME/IP servers that do not run Service
Discovery (e.g. Zephyr-based MCU firmware with multicast TX disabled).
Both transports already accept the parameter — it just wasn't wired
through the high-level config.

The field defaults to `None`, preserving existing SD-based behavior.

Closes #13

Made-with: Cursor
@vtz vtz merged commit f5bb08b into main Apr 18, 2026
18 checks passed
@vtz vtz deleted the feat/static-remote-endpoint branch April 18, 2026 12:32
@vtz vtz mentioned this pull request Apr 18, 2026
1 task
vtz added a commit that referenced this pull request Apr 18, 2026
Summary

Bump version from 0.1.3 to 0.1.4 across pyproject.toml, _version.py, and cmake defines
Add CHANGELOG entry for v0.1.4
What's in 0.1.4

Features

Add optional remote_endpoint field to ClientConfig, enabling communication with SOME/IP servers that do not run Service Discovery (feat: support static remote endpoint in ClientConfig (no SD) #15)
Miscellaneous

Bump softprops/action-gh-release from 2 to 3
Bump actions/github-script from 8 to 9
Bump codecov/codecov-action from 5 to 6
Update opensomeip C++ submodule
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.

ClientConfig lacks remote_endpoint for static routing (no SD)

1 participant