fix(native): honor LCM_DEFAULT_URL in the rust LCM transport - #3740
Conversation
liblcm reads LCM_DEFAULT_URL, so every python module lands on the bus it names, but the rust transport hardcoded 239.255.76.67:7667. The two halves of a pipeline then sit on different buses and nothing is delivered, with no error on either side. This is also why no python-to-native LCM integration test can pass: dimos' conftest pins each pytest session to its own udpm port for isolation, which the native side never joined.
Greptile SummaryThis change lets the native Rust LCM transport read Confidence Score: 4/5The URL fallback path needs correction or clearer semantics before merging because malformed endpoint values can still change the effective multicast TTL. The malformed-group and malformed-port paths were both executed with a valid TTL and consistently produced the default endpoint with an overridden TTL. Files Needing Attention: native/rust/dimos-module/src/lcm.rs, particularly the invalid group/port handling and subsequent TTL query parsing.
What T-Rex did
|
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #3740 +/- ##
=======================================
Coverage 77.58% 77.58%
=======================================
Files 1315 1315
Lines 124697 124697
Branches 10867 10867
=======================================
+ Hits 96748 96750 +2
+ Misses 24816 24814 -2
Partials 3133 3133
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Hand-splitting on "://", "?", ":" and "&" reimplements a parser that is already a dependency and gets the edge cases wrong.
Co-authored-by: Andrew Lauer <andrewcl@email.unc.edu>
rust didn't respect
LCM_DEFAULT_URLhttps://lcm-proj.github.io/lcm/content/multicast-setup.html#choosing-a-ttl