feat: adopt RELAY spec v0.3 — version bump, topic_name, golden vector test#13
Merged
Conversation
… vector test Adopts RELAY spec v0.3 for cpp-RCP (closes issue #11). The v0.3 breaking change (§15.7.6 — SOME/IP numeric msg_type) does not affect the RCP protocol, so RCP's ToMessage()/FromMessage() mappings are unchanged. - relay.hpp: kRelaySpecVersion "0.2" → "0.3" - relay.hpp: SubscriberOptions gains topic_name (§14.1 additive, v0.3); DDS adapters route on it, RCP and all other adapters ignore it - test_relay.cpp: assert version "0.3"; add golden-vector test pinning status_to_message() to RELAY spec/vectors/rcp-status.json (lossless mapping of protocol/id/seq/payload/meta); add SubscriberOptions.topic_name test Note: the v0.3 CLI conformance path (`-DRELAY_BUILD_CLI=ON` + `relay conform` schema validation, §12) is a separate larger component, not included here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com>
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.
Summary
Adopts RELAY spec v0.3 for cpp-RCP (closes #11).
The only v0.3 breaking change (§15.7.6 — SOME/IP
Meta["someip.msg_type"]becomes numeric) is SOME/IP-only. RCP'sToMessage()/FromMessage()mappings are unchanged, so adoption is a clean version bump plus the additive §14.1 option.Changes
include/relay/relay.hppkRelaySpecVersion:"0.2"→"0.3"SubscriberOptionsgainsstd::string topic_name(§14.1, v0.3). DDS adapters route subscriptions on it; RCP and all other adapters ignore it.tests/test_relay.cpp"0.3"rcp::status_to_message()to the canonical reference inRELAY spec/vectors/rcp-status.json— asserts the mapping ofprotocol=5,id="FrontLeft",seq=3,payload=0x01,meta["rcp.healthy"]="true"is lossless against the spec's own fixture.SubscriberOptions.topic_nametest (default empty; RCP adapter ignores it)Not included (separate, larger scope)
The v0.3 CLI conformance path — building a
cpp-rcpCLI with-DRELAY_BUILD_CLI=ONand runningrelay conformto validateversion/capabilities/statusJSON against the §12 schemas — is a distinct component (introduces a JSON dependency + CLI binary). Tracked for a follow-up.Test plan
rcp_relaypass (golden vector + topic_name tests green)