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

Data Structures

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 DDS_DataWriter
DDS_ASYNCHRONOUS_PUBLISH_MODE_QOS  Indicates to send data asynchronously.

Configures the DDS_DataWriter 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 DDS_Publisher.

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

DDS_DataWriter_wait_for_asynchronous_publishing and DDS_Publisher_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:
DDS_FlowController

DDS_HistoryQosPolicy

DDS_DataWriter_wait_for_asynchronous_publishing

DDS_Publisher_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