Skip to content

TopicForge 0.5.4

Choose a tag to compare

@yaniswav yaniswav released this 02 Oct 08:23
· 44 commits to main since this release

First run of the DDS code against a live bus (Windows 11, a Python / Cyclone DDS
participant and a Rust / Dust DDS participant). It exposed four defects that
left the DDS module non-functional on Cyclone; all are fixed and tested.

Fixed

  • list_participants reports the participant name and hostname on Cyclone
    (both were always null).
  • Participant GUIDs were never read, so every participant collapsed onto one
    unknown entry.
  • Vendors were never identified. The vendor id is now read from the GUID prefix;
    Dust DDS and RTI by default still report unknown.
  • The OMG vendor-id table mapped Fast DDS and Cyclone to the wrong ids (now
    01.0F and 01.10). The Fast DDS side is verified statically only.
  • ParticipantInfo.vendor also accepts rti_micro, opensplice, opendds,
    coredx, intercom and dust.
  • detect_qos_mismatches never reported anything on Cyclone because policy
    class names were not normalized.
  • A stopped participant never disappeared; departed participants and endpoints
    are now dropped.
  • The Cyclone adapter leaked a reader per tool call and waited 2 s each; it now
    keeps one reader per builtin topic.
  • peek_dds_samples on DCPSPublication / DCPSSubscription listed endpoints
    of participants that had left, and now includes the endpoint type_name.
  • Example role nodes published below their rate on Windows.

Added

  • examples/dds/: fourteen runnable examples (concepts and use cases), all
    passing on a live bus.
  • scripts/integration/: a demo driver, twelve interop programs (Cyclone, Dust,
    Fast DDS, RTI, OpenSplice), one-command setup scripts and CI workflows. Only
    Cyclone Python and Dust Rust / Python / C have been run, on Windows.

Removed

  • The docker / scenario integration rig, replaced by the demo driver.