RTI Connext Modern C++ API Version 7.3.0
dds::domain Namespace Reference

The domain namespace contains types, classes, and functions related to DomainParticipants. More...

Namespaces

namespace  qos
 Contains DomainParticipantQos.
 

Classes

class  DomainParticipant
 <<reference-type>> Container for all dds::core::Entity objects. More...
 
class  DomainParticipantListener
 The listener class for a DomainParticipant. More...
 
class  NoOpDomainParticipantListener
 A convenience implementation of DomainParticipantListener where all methods are overridden to do nothing. More...
 

Functions

void ignore (const dds::domain::DomainParticipant &participant, const dds::core::InstanceHandle &handle)
 Instructs RTI Connext to locally ignore a remote dds::domain::DomainParticipant. More...
 
template<typename FwdIterator >
void ignore (const dds::domain::DomainParticipant &participant, FwdIterator begin, FwdIterator end)
 Instructs RTI Connext to locally ignore a group of remote dds::domain::DomainParticipant. More...
 
dds::core::InstanceHandleSeq discovered_participants (const dds::domain::DomainParticipant &participant)
 Retrieves the list of other participants discovered by this participant. More...
 
template<typename FwdIterator >
FwdIterator discovered_participants (const dds::domain::DomainParticipant &participant, FwdIterator begin, FwdIterator end)
 Retrieves the list of other participants discovered by this participant. More...
 
dds::topic::ParticipantBuiltinTopicData discovered_participant_data (const dds::domain::DomainParticipant &participant, const dds::core::InstanceHandle &participant_handle)
 Retrieves the information about one participant discovered by this participant. More...
 
DomainParticipant find (int32_t domain_id)
 Locates an existing dds::domain::DomainParticipant. More...
 

Detailed Description

The domain namespace contains types, classes, and functions related to DomainParticipants.

Function Documentation

◆ ignore() [1/2]

void ignore ( const dds::domain::DomainParticipant participant,
const dds::core::InstanceHandle handle 
)

Instructs RTI Connext to locally ignore a remote dds::domain::DomainParticipant.

#include <dds/domain/discovery.hpp>

Note
This is a standalone function in the namespace dds::domain

From the time of this call onwards, RTI Connext will locally behave as if the remote participant did not exist. This means it will ignore any topic, publication, or subscription that originates on that dds::domain::DomainParticipant.

There is no way to reverse this operation.

This operation can be used in conjunction with the discovery of remote participants offered by means of the dds::topic::ParticipantBuiltinTopicData to provide access control.

Application data can be associated with a dds::domain::DomainParticipant by means of the USER_DATA policy. This application data is propagated as a field in the built-in topic and can be used by an application to implement its own access control policy.

The dds::domain::DomainParticipant to ignore is identified by the handle argument. This handle is the one that appears in the dds::sub::SampleInfo retrieved when reading the data-samples available for the built-in dds::sub::DataReader to the dds::domain::DomainParticipant topic. The built-in dds::sub::DataReader is read with the same dds::sub::DataReader::read and dds::sub::DataReader::take operations used for any dds::sub::DataReader.

Parameters
participantThe DomainParticipant for which the remote entity will be ignored.
handleThe dds::core::InstanceHandle of the remote entity that will be ignored.

Referenced by dds::domain::DomainParticipant::ignore().

◆ ignore() [2/2]

template<typename FwdIterator >
void ignore ( const dds::domain::DomainParticipant participant,
FwdIterator  begin,
FwdIterator  end 
)

Instructs RTI Connext to locally ignore a group of remote dds::domain::DomainParticipant.

#include <dds/domain/discovery.hpp>

Note
This is a standalone function in the namespace dds::domain

The series of entities whose instance handles are made available via the provided iterators will be ignored.

Parameters
participantThe DomainParticipant for which the remote entity will be ignored
beginThe begin iterator for the series of InstanceHandles to ignore
endThe end iterator for the series of InstanceHandles to ignore
See also
ignore(const dds::domain::DomainParticipant& participant, const dds::core::InstanceHandle& handle)

◆ discovered_participants() [1/2]

dds::core::InstanceHandleSeq discovered_participants ( const dds::domain::DomainParticipant participant)

Retrieves the list of other participants discovered by this participant.

#include <dds/domain/discovery.hpp>

Note
This is a standalone function in the namespace dds::domain

This operation retrieves the list of dds::domain::DomainParticipant entities that have been discovered in the domain and that the application has not indicated should be "ignored" by means of the dds::domain::ignore operation. When using rti::core::policy::DiscoveryConfigBuiltinPluginKindMask::SPDP2, this list only includes dds::domain::DomainParticipant entities that the application has received configuration information from.

Parameters
participantThe DomainParticipant where to look up the discovered participants
Returns
The list of InstanceHandles that can be passed to dds::domain::discovered_participant_data.
Exceptions
Oneof the Standard Exceptions or dds::core::NotEnabledError

Referenced by dds::domain::DomainParticipant::discovered_participants().

◆ discovered_participants() [2/2]

template<typename FwdIterator >
FwdIterator discovered_participants ( const dds::domain::DomainParticipant participant,
FwdIterator  begin,
FwdIterator  end 
)

Retrieves the list of other participants discovered by this participant.

#include <dds/domain/discovery.hpp>

Note
This is a standalone function in the namespace dds::domain
Template Parameters
FwdIteratorA forward iterator whose value type is dds::core::InstanceHandleSeq

This overload copies the instance handles into an iterator range.

Parameters
participantThe participant whose discovered participants are looked up
beginThe begin iterator where to copy the instance handles
endOne past the last position where instance handles are copied

◆ discovered_participant_data()

dds::topic::ParticipantBuiltinTopicData discovered_participant_data ( const dds::domain::DomainParticipant participant,
const dds::core::InstanceHandle participant_handle 
)

Retrieves the information about one participant discovered by this participant.

#include <dds/domain/discovery.hpp>

Note
This is a standalone function in the namespace dds::domain

This operation retrieves information on a dds::domain::DomainParticipant that has been discovered on the network. The participant must be in the same domain as the participant on which this operation is invoked and must not have been "ignored" by means of the dds::domain::ignore operation.

The participant_handle must correspond to such a DomainParticipant. Otherwise, the operation will fail with dds::core::PreconditionNotMetError.

Use the operation dds::domain::discovered_participants to find the dds::domain::DomainParticipant entities that are currently discovered.

MT Safety:
Safe.
Parameters
participantThe DomainParticipant where to look up the information
participant_handle<<in>> dds::core::InstanceHandle of dds::domain::DomainParticipant.
Returns
The participant information about participant_handle
Exceptions
Oneof the Standard Exceptions, dds::core::PreconditionNotMetError or dds::core::NotEnabledError
See also
dds::topic::ParticipantBuiltinTopicData
dds::domain::discovered_participants

◆ find()

DomainParticipant find ( int32_t  domain_id)

Locates an existing dds::domain::DomainParticipant.

#include <dds/domain/find.hpp>

Note
This is a standalone function in the namespace dds::domain

If no such DomainParticipant exists, the operation will return dds::core::null.

If multiple DomainParticipants belonging to that domain id exist, then the operation will return one of them. It is not specified which one.

Parameters
domain_idThe domain id of the DomainParticipant to find