PUBLISH_MODE
[QoS Policies]

<<eXtension>> Specifies how RTI Data Distribution Service sends application data on the network. This QoS policy can be used to tell RTI Data Distribution Service to use its own thread to send data, instead of the user thread. More...

Classes

struct  DDS_PublishModeQosPolicy
 Specifies how RTI Data Distribution Service sends application data on the network. This QoS policy can be used to tell RTI Data Distribution Service to use its own thread to send data, instead of the user thread. More...

Defines

#define DDS_PUBLICATION_PRIORITY_UNDEFINED
 Initializer value for DDS_PublishModeQosPolicy::priority and/or DDS_ChannelSettings_t::priority.
#define DDS_PUBLICATION_PRIORITY_AUTOMATIC
 Constant value for DDS_PublishModeQosPolicy::priority and/or DDS_ChannelSettings_t::priority.

Enumerations

enum  DDS_PublishModeQosPolicyKind {
  DDS_SYNCHRONOUS_PUBLISH_MODE_QOS,
  DDS_ASYNCHRONOUS_PUBLISH_MODE_QOS
}
 Kinds of publishing mode. More...

Variables

const char *const DDS_PUBLISHMODE_QOS_POLICY_NAME
 Stringified human-readable name for DDS_PublishModeQosPolicy.

Detailed Description

<<eXtension>> Specifies how RTI Data Distribution Service sends application data on the network. This QoS policy can be used to tell RTI Data Distribution Service to use its own thread to send data, instead of the user thread.


Define Documentation

#define DDS_PUBLICATION_PRIORITY_UNDEFINED

Initializer value for DDS_PublishModeQosPolicy::priority and/or DDS_ChannelSettings_t::priority.

When assigned this value, the publication priority of the data writer, or channel of a multi-channel data writer, will be set to the lowest possible value. For muilti-channel data writers, if either the data writer or channel priority is NOT set to this value, then the publication priority of the entity will be set to the defined value.

#define DDS_PUBLICATION_PRIORITY_AUTOMATIC

Constant value for DDS_PublishModeQosPolicy::priority and/or DDS_ChannelSettings_t::priority.

When assigned this value, the publication priority of the data writer, or channel of a multi-channel data writer, will be set to the largest priority value of any sample currently queued for publication by the data writer or data writer channel.


Enumeration Type Documentation

Kinds of publishing mode.

QoS:
DDS_PublishModeQosPolicy
Enumerator:
DDS_SYNCHRONOUS_PUBLISH_MODE_QOS  Indicates to send data synchronously.

If DDS_DataWriterProtocolQosPolicy::push_on_write is DDS_BOOLEAN_TRUE, data is sent immediately in the context of FooDataWriter::write.

As data is sent immediately in the context of the user thread, no flow control is applied.

See also:
DDS_DataWriterProtocolQosPolicy::push_on_write
[default] for DDSDataWriter
DDS_ASYNCHRONOUS_PUBLISH_MODE_QOS  Indicates to send data asynchronously.

Configures the DDSDataWriter to delegate the task of data transmission to a separate publishing thread. The FooDataWriter::write call does not send the data, but instead schedules the data to be sent later by its associated DDSPublisher.

Each DDSPublisher uses its dedicated publishing thread (DDS_PublisherQos::asynchronous_publisher) to send data for all its asynchronous DataWriters. For each asynchronous DataWriter, the associated DDSFlowController determines when the publishing thread is allowed to send the data.

DDSDataWriter::wait_for_asynchronous_publishing and DDSPublisher::wait_for_asynchronous_publishing enable you to determine when the data has actually been sent.

Note: DDS_DataWriterProtocolQosPolicy::push_on_write must be TRUE for Asynchronous DataWriters. Otherwise, samples will never be sent.

See also:
DDSFlowController

DDS_HistoryQosPolicy

DDSDataWriter::wait_for_asynchronous_publishing

DDSPublisher::wait_for_asynchronous_publishing

NDDS_Transport_Property_t::gather_send_buffer_count_max


Variable Documentation

Stringified human-readable name for DDS_PublishModeQosPolicy.


RTI Data Distribution Service C++ API Version 4.5e Copyright © 23 Oct 2011 Real-Time Innovations, Inc