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

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

Namespaces

 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)
 <<extension>> 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)
 <<extension>> 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)
 <<extension>> 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>

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 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>

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)

References discovered_participants(), and ignore().

◆ discovered_participants() [1/2]

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

<<extension>> Retrieves the list of other participants discovered by this participant

#include <dds/domain/discovery.hpp>

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::DomainParticipant::ignore(const dds::domain::DomainParticipant & participant, const dds::core::InstanceHandle & handle) operation.

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

Referenced by discovered_participants(), and ignore().

◆ discovered_participants() [2/2]

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

<<extension>> Retrieves the list of other participants discovered by this participant

#include <dds/domain/discovery.hpp>

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

References discovered_participant_data(), and discovered_participants().

◆ discovered_participant_data()

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

<<extension>> Retrieves the information about one participant discovered by this participant

#include <dds/domain/discovery.hpp>

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::DomainParticipant::ignore(const dds::domain::DomainParticipant & participant, const dds::core::InstanceHandle & handle) operation.

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

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

MT Safety:
Unsafe. It is not safe to call this operation from multiple threads at the same time.
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
rti::domain::discovered_participants()

Referenced by discovered_participants().

◆ find()

DomainParticipant find ( int32_t  domain_id)

Locates an existing dds::domain::DomainParticipant.

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