RTI Connext Modern C++ API  Version 6.0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
dds::domain Namespace Reference

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

Namespaces

namespace  qos
 Contains DomainParticipantQos.
 

Classes

class  DomainParticipantListener
 The listener class for DomainParticipants. More...
 
class  DomainParticipant
 <<reference-type>> Container for all dds::core::Entity objects. 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.
 
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.
 
dds::core::InstanceHandleSeq discovered_participants (const dds::domain::DomainParticipant &participant)
 <<extension>> Retrieves the list of other participants discovered by this participant
 
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
 
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
 
DomainParticipant find (int32_t domain_id)
 Locates an existing dds::domain::DomainParticipant.
 

Detailed Description

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

Function Documentation

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

Note: This operation does not retrieve the dds::topic::ParticipantBuiltinTopicData::property. This information is available through dds::sub::DataReaderListener::on_data_available() (if a reader listener is installed on the ParticipantBuiltinTopicDataDataReader).

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

RTI Connext Modern C++ API Version 6.0.1 Copyright © Sat Nov 23 2019 Real-Time Innovations, Inc