CoreDX DDS Modern C++ API
Namespaces | Classes | Functions
dds::pub Namespace Reference

Pub namespace. More...

Namespaces

 qos
 Namespace for Publication related QoS collections.
 

Classes

class  AnyDataWriter
 Typeless base class for the typed DataWriter. More...
 
class  AnyDataWriterListener
 Base for the base un-typed AnyDataWriterListener. More...
 
class  DataWriter
 Type specific DataWriter. More...
 
class  DataWriterListener
 Type specific DataWriter listener. More...
 
class  NoOpAnyDataWriterListener
 Derives from the base un-typed AnyDataWriterListener. More...
 
class  NoOpDataWriterListener
 Derives from the base type specific DataWriterListener. More...
 
class  NoOpPublisherListener
 Derives from the base PublisherListener, and provides 'empty' implementations for all listener operations. More...
 
class  Publisher
 The Publisher acts on the behalf of one or several DataWriter objects that belong to it. More...
 
class  PublisherListener
 The base listener that can be associated with a Publisher. More...
 

Functions

template<typename WRITER , typename FwdIterator >
uint32_t find (const dds::pub::Publisher &pub, const std::string &topic_name, FwdIterator begin, uint32_t max_size)
 This function retrieves a previously-created DataWriter belonging to the Publisher that is attached to a Topic with a matching topic_name. More...
 
template<typename WRITER , typename BinIterator >
uint32_t find (const dds::pub::Publisher &pub, const std::string &topic_name, BinIterator begin)
 This function retrieves a previously-created DataWriter belonging to the Publisher that is attached to a Topic with a matching topic_name. More...
 
void ignore (const dds::domain::DomainParticipant &dp, const dds::core::InstanceHandle &handle)
 Ignore publications. More...
 
template<typename FwdIterator >
void ignore (const dds::domain::DomainParticipant &dp, FwdIterator begin, FwdIterator end)
 Ignore publications. More...
 
template<typename T >
const dds::core::InstanceHandleSeq matched_subscriptions (const dds::pub::DataWriter< T > &dw)
 This operation retrieves the list of subscriptions currently "associated" with the DataWriter; that is, subscriptions that have a matching Topic and compatible QoS that the application has not indicated should be "ignored" by means of the DomainParticipant ignore_subscription operation. More...
 
template<typename T , typename FwdIterator >
dds::core::InstanceHandleSeq & matched_subscriptions (const dds::pub::DataWriter< T > &dw, FwdIterator begin, FwdIterator end)
 This operation retrieves the list of subscriptions currently "associated" with the DataWriter; that is, subscriptions that have a matching Topic and compatible QoS that the application has not indicated should be "ignored" by means of the DomainParticipant ignore_subscription operation. More...
 
template<typename T >
const dds::topic::SubscriptionBuiltinTopicData matched_subscription_data (const dds::pub::DataWriter< T > &dw, const dds::core::InstanceHandle &h)
 This operation retrieves information on a subscription that is currently associated with the DataWriter; that is, a subscription with a matching Topic and compatible QoS that the application has not indicated should be ignored by means of the DomainParticipant ignore_subscription operation. More...
 

Detailed Description

Pub namespace.

Function Documentation

◆ find() [1/2]

template<typename WRITER , typename FwdIterator >
uint32_t dds::pub::find ( const dds::pub::Publisher pub,
const std::string &  topic_name,
FwdIterator  begin,
uint32_t  max_size 
)

This function retrieves a previously-created DataWriter belonging to the Publisher that is attached to a Topic with a matching topic_name.

If no such DataWriter exists, the operation will return an empty container. The use of this operation on the built-in Publisher allows access to the built-in DataWriter entities for the built-in topics

Returns
the total number of elements found. Notice that at most max_size will be copied using the provided iterator.

◆ find() [2/2]

template<typename WRITER , typename BinIterator >
uint32_t dds::pub::find ( const dds::pub::Publisher pub,
const std::string &  topic_name,
BinIterator  begin 
)

This function retrieves a previously-created DataWriter belonging to the Publisher that is attached to a Topic with a matching topic_name.

If no such DataWriter exists, the operation will return an empty container. The use of this operation on the built-in Publisher allows access to the built-in DataWriter entities for the built-in topics

Returns
the total number of elements found. Notice that at most max_size will be copied using the provided iterator.

◆ ignore() [1/2]

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

Ignore publications.

Parameters
dpthe DomainParticipant for which the remote entity will be ignored
handlethe InstanceHandle of the remote entity that has to be ignored
Not Yet Supported:

◆ ignore() [2/2]

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

Ignore publications.

Parameters
dpthe DomainParticipant for which the remote entity will be ignored
beginan iterator marking the beginning
endan iterator marking the ending
Not Yet Supported:

◆ matched_subscription_data()

template<typename T >
const dds::topic::SubscriptionBuiltinTopicData dds::pub::matched_subscription_data ( const dds::pub::DataWriter< T > &  dw,
const dds::core::InstanceHandle h 
)

This operation retrieves information on a subscription that is currently associated with the DataWriter; that is, a subscription with a matching Topic and compatible QoS that the application has not indicated should be ignored by means of the DomainParticipant ignore_subscription operation.

The subscription_handle must correspond to a subscription currently associated with the DataWriter, otherwise the operation will fail and throw a BadParameterError. The operation matched_subscriptions can be used to find the subscriptions that are currently matched with the DataWriter.

The operation may also fail if the infrastructure does not hold the information necessary to fill in the subscription_data. In this case the operation will throw UnsupportedError.

Not Yet Supported:

◆ matched_subscriptions() [1/2]

template<typename T >
const dds::core::InstanceHandleSeq dds::pub::matched_subscriptions ( const dds::pub::DataWriter< T > &  dw)

This operation retrieves the list of subscriptions currently "associated" with the DataWriter; that is, subscriptions that have a matching Topic and compatible QoS that the application has not indicated should be "ignored" by means of the DomainParticipant ignore_subscription operation.

The handles returned in the "subscription_handles" list are the ones that are used by the DDS implementation to locally identify the corresponding matched DataReader entities. These handles match the ones that appear in the "instance_handle" field of the SampleInfo when reading the "DCPSSubscriptions" builtin topic. The operation may fail if the infrastructure does not locally maintain the connectivity information.

Not Yet Supported:

◆ matched_subscriptions() [2/2]

template<typename T , typename FwdIterator >
dds::core::InstanceHandleSeq& dds::pub::matched_subscriptions ( const dds::pub::DataWriter< T > &  dw,
FwdIterator  begin,
FwdIterator  end 
)

This operation retrieves the list of subscriptions currently "associated" with the DataWriter; that is, subscriptions that have a matching Topic and compatible QoS that the application has not indicated should be "ignored" by means of the DomainParticipant ignore_subscription operation.

The handles returned in the "subscription_handles" list are the ones that are used by the DDS implementation to locally identify the corresponding matched DataReader entities. These handles match the ones that appear in the "instance_handle" field of the SampleInfo when reading the "DCPSSubscriptions" builtin topic. The operation may fail if the infrastructure does not locally maintain the connectivity information.

Not Yet Supported:

© 2009-2020 Twin Oaks Computing, Inc
Castle Rock, CO 80104
All rights reserved.