holoscan::FastDdsDiscovery
holoscan::FastDdsDiscovery
DDS-based implementation of PubSubDiscovery.
Wraps FastDDS’s built-in SPDP/SEDP discovery protocols.
The announce_publisher and announce_subscriber methods don’t actually register with an external service; instead, they track local endpoints while DDS handles the actual discovery via SEDP.
Discovery callbacks are driven by DDS listener events.
Inherits from: nvidia::gxf::PubSubDiscovery (public)
Constructors
FastDdsDiscovery
From raw pointer
Copy (deleted)
Construct a FastDdsDiscovery with a FastDdsPubSubContext.
Parameters
FastDdsPubSubContext providing DomainParticipant
Destructor
~FastDdsDiscovery
Destructor - calls shutdown() if needed.
Assignment operators
operator=
Methods
initialize
shutdown
is_initialized
discovery_model
DDS uses decentralized passive discovery (SPDP/SEDP).
announce_publisher()/announce_subscriber() are local bookkeeping only; actual network discovery happens when DataWriters/DataReaders are created.
announce_publisher
Announce a local publisher (no-op for DDS).
Local endpoint tracking is handled by the shared TopicRegistry (set by PubSubContext via set_topic_registry()). The actual DDS discovery happens when FastDdsTransport::create_publisher_endpoint() creates the DataWriter.
announce_subscriber
Announce a local subscriber (no-op for DDS).
Local endpoint tracking is handled by the shared TopicRegistry (set by PubSubContext via set_topic_registry()). The actual DDS discovery happens when FastDdsTransport::create_subscriber_endpoint() creates the DataReader.
remove_publisher
remove_subscriber
query_publishers
Query discovered publishers on a topic.
Returns: List of publisher info, or error
Parameters
Topic to query (empty string returns all publishers)
query_subscribers
Query discovered subscribers on a topic.
Returns: List of subscriber info, or error
Parameters
Topic to query (empty string returns all subscribers)
get_all_topics
Get all known topic names.
Returns: List of topic names with at least one publisher or subscriber
set_on_publisher_discovered
set_on_subscriber_discovered
set_on_publisher_lost
set_on_subscriber_lost
set_local_native_capability
Set the local NativeBufferCapability to be serialized into participant UserData.
Must be called before initialize() (the participant is already created by that point, so the capability is set during FastDdsPubSubContext::initialize()).
local_native_capability
guid_to_gid
Helper to convert DDS GUID to GXF Gid.
capability_for_device
Build a capability for a specific device by querying its UUID via CUDA.
Returns the default capability (with empty UUID) if the query fails.
Static methods
serialize_native_capability
Serialize NativeBufferCapability into participant UserData QoS bytes.
parse_native_capability
Parse NativeBufferCapability from participant UserData QoS bytes.