RTI Connext Modern C++ API  Version 6.1.2

Contains the parameters for creating a QueueProducer. More...

#include <rti/queuing/QueueParams.hpp>

Inheritance diagram for rti::queuing::QueueProducerParams:
rti::queuing::QueueEntityParams< QueueProducerParams >

Public Member Functions

 QueueProducerParams (dds::domain::DomainParticipant participant)
 Creates a QueueProducerParams object with the participant set. More...
 
bool enable_sample_replication () const
 Causes the QueueProducer to write all the samples with the dds::sub::SampleInfo::flag including the bit rti::core::SampleFlag::replicate. More...
 
QueueProducerParamsenable_wait_for_ack (bool enable)
 Enables the Queuing Service's 'Acknowledgment Management' feature for the QueueProducer. More...
 
- Public Member Functions inherited from rti::queuing::QueueEntityParams< QueueProducerParams >
QueueProducerParamsqos_profile (const std::string &qos_library_name, const std::string &qos_profile_name)
 Specifies an XML QoS profile that will be used to configure the quality of service of the DDS entities created. More...
 
QueueProducerParamsshared_subscriber_name (const std::string &name)
 Sets the SharedSubscriber name associated with the SharedReaderQueues. More...
 
QueueProducerParamsentity_name (const std::string &name)
 Sets the name of the QueueEntity. More...
 

Detailed Description

Contains the parameters for creating a QueueProducer.

Constructor & Destructor Documentation

◆ QueueProducerParams()

rti::queuing::QueueProducerParams::QueueProducerParams ( dds::domain::DomainParticipant  participant)
inlineexplicit

Creates a QueueProducerParams object with the participant set.

The rest of the parameters that can be set in a QueueProducerParams object are optional.

Parameters
participantThe dds::domain::DomainParticipant a QueueProducer uses to join a domain.

Member Function Documentation

◆ enable_sample_replication()

bool rti::queuing::QueueProducerParams::enable_sample_replication ( ) const
inline

Causes the QueueProducer to write all the samples with the dds::sub::SampleInfo::flag including the bit rti::core::SampleFlag::replicate.

When this value is set to true, all the samples are written with the associated metadata containing the bit rti::core::SampleFlag::replicate. This behavior cannot be changed once this option is enabled (no matter which operation is used to send samples).

References rti::util::network_capture::enable().

◆ enable_wait_for_ack()

QueueProducerParams& rti::queuing::QueueProducerParams::enable_wait_for_ack ( bool  enable)
inline

Enables the Queuing Service's 'Acknowledgment Management' feature for the QueueProducer.

When this value is set to true, you can call the APIs QueueProducer::wait_for_acknowledgments(const dds::core::Duration&) and QueueProducer::wait_for_acknowledgments(const rti::core::SampleIdentity&, const dds::core::Duration&) to wait for acknowledgments from Queuing Service. These acknowledgments indicate whether or not samples have been successfully enqueued.

Notice that if you enable this feature, at some point you must call QueueProducer::wait_for_acknowledgments(const dds::core::Duration&) or QueueProducer::wait_for_acknowledgments(const rti::core::SampleIdentity&, const dds::core::Duration&). Otherwise, the QueueProducer's memory will grow unbounded, since it will keep some state per sample.

You must also set the XML tag <app_ack_sample_to_producer> under <queue_qos>/<reliability> to true.

[default] true

References rti::util::network_capture::enable().