ros2_medkit_topic_beacon
Topic-based beacon discovery plugin for ros2_medkit gateway
README
ros2_medkit_topic_beacon
Gateway discovery plugin that subscribes to ROS 2 topics for real-time entity metadata.
Enables push-based beacon discovery where nodes publish MedkitDiscoveryHint messages
to enrich the SOVD entity tree.
How It Works
Nodes publish
ros2_medkit_msgs::msg::MedkitDiscoveryHintmessages on a beacon topicThe plugin subscribes, validates hints, and stores them with stamp-based TTL
A token bucket rate limiter prevents overload from high-frequency publishers
Results are exposed at the
x-medkit-topic-beaconvendor extension endpoint
Hints transition through states: active (within TTL) -> stale (TTL expired, data still served with stale marker) -> expired (removed from store).
Configuration
plugins: ["topic_beacon"]
plugins.topic_beacon.path: "/path/to/libros2_medkit_topic_beacon.so"
plugins.topic_beacon.beacon_ttl_sec: 10.0
plugins.topic_beacon.beacon_expiry_sec: 300.0
plugins.topic_beacon.allow_new_entities: true
plugins.topic_beacon.max_messages_per_second: 100.0
See discovery options for full configuration reference.
When to Use
Use the topic beacon when entity metadata changes in real time - sensor health, connection quality, load metrics. For stable metadata that rarely changes, use the parameter beacon instead.
License
Apache License 2.0