-
Notifications
You must be signed in to change notification settings - Fork 14
fix(issue-74): enforce left-side publish authority mapping and add reproducible CLI validation #77
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
base: main
Are you sure you want to change the base?
Conversation
…nd Path A cache identity
42d5a26 to
2d42d16
Compare
| #[arg(long, default_value = DEFAULT_UENTITY)] | ||
| uentity: String, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this can be done with a lot less code/effort using the clap-num crate:
| #[arg(long, default_value = DEFAULT_UENTITY)] | |
| uentity: String, | |
| #[arg(long, default_value = DEFAULT_UENTITY, value_parser = clap_num::maybe_hex::<u32>)] | |
| uentity: u32, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that all you need these args for is creating the source and sink UUris, I guess it would be much easier to simply define args source and sink having type UUri and using UUri::from_str as the value parser function ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, nice :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm interested in doing this. Maybe not in this PR though?
There's a follow-up PR which does a lot of refactoring:
#78
Perhaps after that one?
Summary
up-streamer.UTransportregister/unregister symmetry.Stacked Branch Context
perf/ci-pr-latency-reduction.mainand therefore includes inherited parent commits.0d441dcadd shared CLI parsing helpers for example binariesb134d5aparameterize MQTT and Zenoh pubsub binaries08b3c0eparameterize remaining example binaries for CLI overridesc026489fix publish forwarding authority matching in streamerc51bfc8document issue74 runbook and CLI override usagea553a37fix integration harness listener unregister symmetryIssue #74 Scope and Semantics
subscription_data.json= allowed publish source filter; right side = subscriber URIs.in_authorityor left-side wildcard*.Addendum: Issue #74 Baseline + Follow-up Validation Matrix (Scope-Only)
This addendum intentionally focuses on routing semantics and validation only. It excludes MSRV and CI-improvement topics.
Base Issue #74 changes
in_authorityor*.up-streamer/src/ustreamer.rs:194up-streamer/src/ustreamer.rs:1600,up-streamer/src/ustreamer.rs:1642,up-streamer/src/ustreamer.rs:1677,up-streamer/src/ustreamer.rs:2018example-streamer-uses/src/bin/common/cli.rs:13,example-streamer-uses/src/bin/common/cli.rs:53,example-streamer-uses/src/bin/common/cli.rs:65,example-streamer-uses/src/bin/zenoh_client.rs:80,example-streamer-uses/src/bin/someip_client.rs:88example-streamer-uses/src/bin/common/cli.rs:94,example-streamer-uses/src/bin/common/cli.rs:100,example-streamer-uses/src/bin/common/cli.rs:115,example-streamer-uses/src/bin/common/cli.rs:124,example-streamer-uses/src/bin/common/cli.rs:146utils/integration-test-utils/src/up_client_foo.rs:235,utils/integration-test-utils/src/up_client_foo.rs:294,utils/integration-test-utils/src/up_client_foo.rs:310up-streamer/tests/single_local_two_remote_add_remove_rules.rs:40Follow-up changes
out_authorityand wildcard subscriber authority (*) rows.//*/...subscriber-authority entries without bypassing forwarding-rule topology.subscription-cache/src/lib.rs:153,up-streamer/src/ustreamer.rs:327,up-streamer/src/ustreamer.rs:450up-streamer/src/ustreamer.rs:1724,up-streamer/src/ustreamer.rs:1775up-streamer/src/ustreamer.rs:225,up-streamer/src/ustreamer.rs:340,up-streamer/src/ustreamer.rs:465up-streamer/src/ustreamer.rs:1903up-streamer/src/ustreamer.rs:819,up-streamer/src/ustreamer.rs:851,up-streamer/src/ustreamer.rs:878up-streamer/src/ustreamer.rs:1962topic + subscriber)topic + subscriber.subscription-cache/src/lib.rs:40,subscription-cache/src/lib.rs:46subscription-cache/src/lib.rs:214,subscription-cache/src/lib.rs:238,subscription-cache/src/lib.rs:269