RTI Connext Java API  Version 5.0.0
AsynchronousPublisherQosPolicy Class Reference

Configures the mechanism that sends user data in an external middleware thread. More...

Inheritance diagram for AsynchronousPublisherQosPolicy:
QosPolicy

Public Attributes

boolean disable_asynchronous_write
 Disable asynchronous publishing.
 
final ThreadSettings_t thread
 Settings of the publishing thread.
 
boolean disable_asynchronous_batch
 Disable asynchronous batch flushing.
 
final ThreadSettings_t asynchronous_batch_thread
 Settings of the batch flushing thread.
 
- Public Attributes inherited from QosPolicy
final QosPolicyId_t id
 The ID of this QoS policy.
 
final String policy_name
 The name of this QoS policy.
 

Additional Inherited Members

- Public Member Functions inherited from Struct
abstract boolean equals (Object obj)
 
abstract int hashCode ()
 
String toString ()
 
- Protected Member Functions inherited from Struct
 Struct ()
 
abstract void pull_from_nativeI (long native_status)
 
abstract void push_to_nativeI (long native_status)
 

Detailed Description

Configures the mechanism that sends user data in an external middleware thread.

Specifies the asynchronous publishing and asynchronous batch flushing settings of the com.rti.dds.publication.Publisher instances.

The QoS policy specifies whether asynchronous publishing and asynchronous batch flushing are enabled for the com.rti.dds.publication.DataWriter entities belonging to this com.rti.dds.publication.Publisher. If so, the publisher will spawn up to two threads, one for asynchronous publishing and one for asynchronous batch flushing.

See Also
com.rti.dds.infrastructure.BatchQosPolicy.
com.rti.dds.infrastructure.PublishModeQosPolicy.
Entity:
com.rti.dds.publication.Publisher
Properties:
RxO = N/A

Changeable = NO

Usage

You can use this QoS policy to reduce the amount of time your application thread spends sending data.

You can also use it, along with com.rti.dds.infrastructure.PublishModeQosPolicy and a com.rti.dds.publication.FlowController, to send large data reliably. "Large" in this context means that the data that cannot be sent as a single packet by a network transport. For example, to send data larger than 63K reliably using UDP/IP, you must configure RTI Connext to fragment the data and send it asynchronously.

The asynchronous publisher thread is shared by all com.rti.dds.infrastructure.PublishModeQosPolicyKind.PublishModeQosPolicyKind.ASYNCHRONOUS_PUBLISH_MODE_QOS com.rti.dds.publication.DataWriter instances that belong to this publisher and handles their data transmission chores.

The asynchronous batch flushing thread is shared by all com.rti.dds.publication.DataWriter instances with batching enabled that belong to this publisher.

This QoS policy also allows you to adjust the settings of the asynchronous publishing and the asynchronous batch flushing threads. To use different threads for two different com.rti.dds.publication.DataWriter entities, the instances must belong to different com.rti.dds.publication.Publisher instances.

A com.rti.dds.publication.Publisher must have asynchronous publishing enabled for its com.rti.dds.publication.DataWriter instances to write asynchronously.

A com.rti.dds.publication.Publisher must have asynchronous batch flushing enabled in order to flush the batches of its com.rti.dds.publication.DataWriter instances asynchronously. However, no asynchronous batch flushing thread will be started until the first com.rti.dds.publication.DataWriter instance with batching enabled is created from this com.rti.dds.publication.Publisher.

Member Data Documentation

boolean disable_asynchronous_write

Disable asynchronous publishing.

If set to com.rti.dds.infrastructure.true, any com.rti.dds.publication.DataWriter created with com.rti.dds.infrastructure.PublishModeQosPolicyKind.PublishModeQosPolicyKind.ASYNCHRONOUS_PUBLISH_MODE_QOS will fail with com.rti.dds.infrastructure.RETCODE_INCONSISTENT_POLICY.

[default] com.rti.dds.infrastructure.false

final ThreadSettings_t thread

Settings of the publishing thread.

There is only one asynchronous publishing thread per com.rti.dds.publication.Publisher.

[default] priority below normal.
The actual value depends on your architecture:

For Windows: -2
For Solaris: OS default priority
For Linux: OS default priority
For LynxOS: 13
For Integrity: 80
For VxWorks: 110

For all others: OS default priority.

[default] The actual value depends on your architecture:

For Windows: OS default stack size
For Solaris: OS default stack size
For Linux: OS default stack size
For LynxOS: 4*16*1024
For Integrity: 4*20*1024
For VxWorks: 4*16*1024

For all others: OS default stack size.

[default] mask = com.rti.dds.infrastructure.ThreadSettingsKind.THREAD_SETTINGS_KIND_MASK_DEFAULT

boolean disable_asynchronous_batch

Disable asynchronous batch flushing.

If set to com.rti.dds.infrastructure.true, any com.rti.dds.publication.DataWriter created with batching enabled will fail with com.rti.dds.infrastructure.RETCODE_INCONSISTENT_POLICY.

If com.rti.dds.infrastructure.BatchQosPolicy.max_flush_delay is different than com.rti.dds.infrastructure.Duration_t.INFINITE, com.rti.dds.infrastructure.AsynchronousPublisherQosPolicy.disable_asynchronous_batch must be set com.rti.dds.infrastructure.false.

[default] com.rti.dds.infrastructure.false

final ThreadSettings_t asynchronous_batch_thread

Settings of the batch flushing thread.

There is only one asynchronous batch flushing thread per com.rti.dds.publication.Publisher.

[default] priority below normal.
The actual value depends on your architecture:

For Windows: -2
For Solaris: OS default priority
For Linux: OS default priority
For LynxOS: 13
For Integrity: 80
For VxWorks: 110

For all others: OS default priority.

[default] The actual value depends on your architecture:

For Windows: OS default stack size
For Solaris: OS default stack size
For Linux: OS default stack size
For LynxOS: 4*16*1024
For Integrity: 4*20*1024
For VxWorks: 4*16*1024

For all others: OS default stack size.

[default] mask = com.rti.dds.infrastructure.ThreadSettingsKind.THREAD_SETTINGS_KIND_MASK_DEFAULT


RTI Connext Java API Version 5.0.0 Copyright © Thu Aug 30 2012 Real-Time Innovations, Inc