Skip to content

UDP Multicast Implementation#366

Merged
tsaubergine merged 21 commits into3.0from
3.0-udp-multicast
Mar 25, 2026
Merged

UDP Multicast Implementation#366
tsaubergine merged 21 commits into3.0from
3.0-udp-multicast

Conversation

@tsaubergine
Copy link
Copy Markdown
Member

@tsaubergine tsaubergine commented Mar 23, 2026

This pull request introduces the new UDPM (UDP Multicast) transport to the Goby middleware, enabling brokerless, peer-to-peer publish/subscribe messaging over UDP multicast. It also adds supporting documentation, refactors identifier management for interprocess communication, and provides minor improvements for Julia bindings and thread management. The most important changes are grouped below:

UDPM Transport Integration:

  • Added new UDPM transport support by including src/udpm/*.h in the build system (CMakeLists.txt, src/CMakeLists.txt) and linking its sources into the main goby library. [1] [2] [3]
  • Added comprehensive documentation for the UDPM transport, describing its configuration, protocol, packetization, rate limiting, and usage patterns in src/doc/markdown/doc700_udpm.md.

Identifier Management Refactor:

  • Introduced identifier.cpp/identifier.h to centralize and clarify the construction and parsing of interprocess message identifiers, including support for wildcards and proper delimiter handling. This improves consistency across transports. [1] [2]
  • Updated build scripts to include the new identifier source file in the middleware.

Middleware and Application Improvements:

  • Improved the Julia application wrapper to expose a method for retrieving the serialized configuration, facilitating integration with Julia code. [1] [2]
  • Enhanced thread management in MultiThreadApplicationBase by using goby::time::SteadyClock for polling with a fixed interval, improving timing accuracy and maintainability. [1] [2]
  • Minor copyright year updates in source files. [1] [2]

Other Codebase Cleanups:

  • Removed redundant include in udp_one_to_many.h and made minor formatting and lambda improvements in intermodule.h. [1] [2] [3]

Loading
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.

3 participants