DomainParticipants

A DomainParticipant is a container for Entity objects that all belong to the same DDS domain. Each DomainParticipant has its own set of internal threads and internal data structures that maintain information about the Entities created by itself and other DomainParticipants in the same DDS domain. A DomainParticipant is used to create and destroy Publishers, Subscribers and Topics.

Once you have a DomainParticipant, you can use it to perform the operations listed in DomainParticipant Operations. For more details on all operations, see the API Reference HTML documentation. Some of the first operations you’ll be interested in are create_topic(), create_subscriber(), and create_publisher().

Note: Some operations cannot be used within a listener callback, see Restricted Operations in Listener Callbacks.

DomainParticipant Operations

Working with ...

Operation

Description

Reference

Builtin Subscriber

get_builtin_subscriber

Returns the builtin Subscriber.

Built-in DataReaders

Domain-Participants

add_peer

Adds an entry to the peer list.

Adding and Removing Peers List Entries

enable

Enables the DomainParticipant.

Enabling DDS Entities

equals

Compares two DomainParticipant’s QoS structures for equality.

Comparing QoS Values

get_discovered_participant_data

Provides the ParticipantBuiltinTopicData for a discovered DomainParticipant.

Learning about Discovered DomainParticipants

get_discovered_participants

Provides a list of DomainParticipants that have been discovered.

get_domain_id

Gets the domain ID of the DomainParticipant.

Choosing a Domain ID and Creating Multiple DDS Domains

get_listener

Gets the currently installed DomainParticipantListener.

Setting Up DomainParticipantListeners

get_qos

Gets the DomainParticipant QoS.

Setting DomainParticipant QosPolicies

ignore_participant

Rejects the connection to a remote DomainParticipant.

Restricting Communication—Ignoring Entities

remove_peer

Removes an entry from the peer list.

Adding and Removing Peers List Entries

set_listener

Replaces the DomainParticipantListener.

Setting Up DomainParticipantListeners

set_qos

Sets the DomainParticipant QoS.

Setting DomainParticipant QosPolicies

set_qos_with_profile

Sets the DomainParticipant QoS based on a QoS profile.

Content-Filtered-Topics

create_contentfilteredtopic

Creates a ContentFilteredTopic that can be used to process content-based subscriptions.

Creating ContentFilteredTopics

create_contentfilteredtopic_with_filter

delete_contentfilteredtopic

Deletes a ContentFilteredTopic.

Deleting ContentFilteredTopics

register_contentfilter

Registers a new content filter.

Registering a Custom Filter

unregister_contentfilter

Unregisters a new content filter.

Unregistering a Custom Filter

lookup_contentfilter

Gets a previously registered content filter.

Retrieving a ContentFilter

DataReaders

create_datareader

Creates a DataReader with a given DataReaderListener, and an implicit Subscriber.

Creating DataReaders

create_datareader_with_
profile

Creates a DataReader based on a QoS profile, with a given DataReaderListener, and an implicit Subscriber.

delete_datareader

Deletes a DataReader that belongs to the ‘implicit Subscriber.

Deleting DataReaders

get_default_datareader_qos

Copies the default DataReaderQoS values into the provided structure.

Getting and Setting Default QoS for Child Entities

ignore_subscription

Rejects the connection to a DataReader

set_default_datareader_qos

Sets the default DataReaderQos values.

set_default_datareader_
qos_with_profile

Sets the default DataReaderQos using values from a QoS profile.

DataWriters

create_datawriter

Creates a DataWriter with a given DataWriterListener, and an implicit Publisher.

Creating Publishers

create_datawriter_with_
profile

Creates a DataWriter based on a QoS profile, with a given DataWriterListener, and an implicit Publisher.

delete_datawriter

Deletes a DataWriter that belongs to the ‘implicit Publisher.

Deleting Publishers

ignore_publication

Rejects the connection to a DataWriter.

Restricting Communication—Ignoring Entities

get_default_datawriter_qos

Copies the default DataWriterQos values into the provided DataWriterQos structure.

Getting and Setting Default QoS for Child Entities

set_default_datawriter_qos

Sets the default DataWriterQoS values.

set_default_datawriter_
qos _with_profile

Sets the default DataWriterQos using values from a profile.

Publishers

create_publisher

Creates a Publisher and a PublisherListener.

Creating Publishers

create_publisher_with_
profile

Creates a Publisher based on a QoS profile, and a PublisherListener.

delete_publisher

Deletes a Publisher.

Deleting Publishers

get_default_publisher_qos

Copies the default PublisherQos values into the provided PublisherQos structure.

Getting and Setting Default QoS for Child Entities

get_implicit_publisher

Gets the Publisher that is implicitly created by the DomainParticipant.

Getting the Implicit Publisher or Subscriber

get_publishers

Provides a list of all Publishers owned by the DomainParticipant.

Getting All Publishers and Subscribers

set_default_publisher_qos

Sets the default PublisherQos values.

Getting and Setting Default QoS for Child Entities

set_default_publisher_qos_with_profile

Sets the default PublisherQos using values from a QoS profile.

Subscribers

create_subscriber

Creates a Subscriber and a SubscriberListener.

Creating Subscribers

create_subscriber_with_
profile

Creates a Subscriber based on a QoS profile, and a SubscriberListener.

delete_subscriber

Deletes a Subscriber.

Deleting Subscribers

get_default_subscriber_qos

Copies the default SubscriberQos values into the provided SubscriberQos structure.

Getting and Setting Default QoS for Child Entities

get_implicit_subscriber

Gets the Subscriber that is implicitly created by the DomainParticipant.

Getting the Implicit Publisher or Subscriber

get_subscribers

Provides a list of all Subscribers owned by the DomainParticipant.

Getting All Publishers and Subscribers

set_default_subscriber_qos

Sets the default SubscriberQos values.

Getting and Setting Default QoS for Child Entities

set_default_subscriber_qos_with_profile

Sets the default SubscriberQos values using values from a QoS profile.

Durable
Subscriptions

delete_durable_subscription

Deletes an existing Durable Subscription. The quorum of the existing DDS samples will be considered satisfied.

Configuring Durable Subscriptions in Persistence Service

register_durable_
subscription

Creates a Durable Subscription that will receive all DDS samples published on a Topic, including those published while a DataReader is inactive or before it may be created.

RTI Persistence Service will ensure that all the DDS samples on that Topic are retained until they are acknowledged by at least N DataReaders belonging to the Durable Subscription, where N is the quorum count.

If the same Durable Subscription is created on a different Topic, RTI Persistence Service will implicitly delete the previous Durable Subscription and create a new one on the new Topic.

Topics

create_topic

Creates a Topic and a TopicListener.

Creating Topics

create_topic _with_profile

Creates a Topic based on a QoS profile, and a TopicListener.

delete_topic

Deletes a Topic.

get_default_topic_qos

Copies the default TopicQos values into the provided TopicQos structure.

Getting and Setting Default QoS for Child Entities

get_discovered_topic_data

Retrieves the BuiltinTopicData for a discovered Topic.

Learning about Discovered Topics

get_discovered_topics

Returns a list of all (non-ignored) discovered Topics.

ignore_topic

Rejects a remote topic.

Restricting Communication—Ignoring Entities

lookup_topicdescription

Gets an existing locally-created TopicDescription (Topic).

Looking up Topic Descriptions

set_default_topic_qos

Sets the default TopicQos values.

Getting and Setting Default QoS for Child Entities

set_default_topic_qos_with_profile

Sets the default TopicQos values using values from a profile.

find_topic

Finds an existing Topic, based on its name.

Finding a Topic

Flow-Controllers

create_flowcontroller

Creates a custom FlowController object.

Creating and Deleting FlowControllers

delete_flowcontroller

Deletes a custom FlowController object.

get_default_flowcontroller_property

Gets the default properties used when a new FlowController is created.

Getting/Setting Default FlowController Properties

set_default_flowcontroller_property

Sets the default properties used when a new FlowController is created.

lookup_flowcontroller

Finds a FlowController, based on its name.

Other FlowController Operations

Libraries and Profiles

get_default_library

Gets the default library.

Getting and Setting DomainParticipant’s Default QoS Profile and Library

get_default_profile

Gets the default profile.

get_default_profile_library

Gets the library that contains the default profile.

set_default_profile

Sets the default QoS profile.

set_default_library

Sets the default library.

MultiTopics

create_multitopic

Creates a MultiTopic that can be used to subscribe to multiple topics and combine/filter the received data into a resulting type.

Currently not supported.

delete_multitopic

Deletes a MultiTopic.

Other

assert_liveliness

Manually asserts the liveliness of this DomainParticipant.

Getting the Implicit Publisher or Subscriber

delete_contained_entities

Recursively deletes all the entities that were created using the "create" operations on the DomainParticipant and its children.

Deleting Contained Entities

contains_entity

Confirms if an entity belongs to the DomainParticipant or not.

Verifying Entity Containment

get_current_time

Gets the current time used by Connext DDS.

Getting the Current Time

get_status_changes

Gets a list of statuses that have changed since the last time the application read the status or the Listeners were called.

Getting Status and Status Changes

© 2018 RTI