DDS_WriterDataLifecycleQosPolicy Struct Reference
[WRITER_DATA_LIFECYCLE]

Controls how a DDSDataWriter handles the lifecycle of the instances (keys) that it is registered to manage. More...

List of all members.

Public Attributes

DDS_Boolean autodispose_unregistered_instances
 Boolean flag that controls the behavior when the DDSDataWriter unregisters an instance by means of the unregister operations.
struct DDS_Duration_t autopurge_unregistered_instances_delay
 <<eXtension>> Maximum duration for which the DDSDataWriter will maintain information regarding an instance once it has unregistered the instance.


Detailed Description

Controls how a DDSDataWriter handles the lifecycle of the instances (keys) that it is registered to manage.

Entity:
DDSDataWriter
Properties:
RxO = N/A
Changeable = YES

Usage

This policy determines how the DDSDataWriter acts with regards to the lifecycle of the data instances it manages (data instances that have been either explicitly registered with the DDSDataWriter or implicitly registered by directly writing the data).

Since the deletion of a DataWriter automatically unregisters all data instances it manages, the setting of the autodispose_unregistered_instances flag will only determine whether instances are ultimately disposed when the DDSDataWriter is deleted either directly by means of the DDSPublisher::delete_datawriter operation or indirectly as a consequence of calling DDSPublisher::delete_contained_entities or DDSDomainParticipant::delete_contained_entities that contains the DataWriter.

You may use FooDataWriter::unregister_instance to indicate that the DDSDataWriter no longer wants to send data for a DDSTopic.

The behavior controlled by this QoS policy applies on a per instance (key) basis for keyed Topics, so that when a DDSDataWriter unregisters an instance, RTI Data Distribution Service can automatically also dispose that instance. This is the default behavior.

In many cases where the ownership of a Topic is shared (see DDS_OwnershipQosPolicy), DataWriters may want to relinquish their ownership of a particular instance of the Topic to allow other DataWriters to send updates for the value of that instance regardless of Ownership Strength. In that case, you may only want a DataWriter to unregister an instance without disposing the instance. Disposing an instance is a statement that an instance no longer exists. User applications may be coded to trigger on the disposal of instances, thus the ability to unregister without disposing may be useful to properly maintain the semantic of disposal.


Member Data Documentation

Boolean flag that controls the behavior when the DDSDataWriter unregisters an instance by means of the unregister operations.

  • DDS_BOOLEAN_TRUE (default)
    The DDSDataWriter will dispose the instance each time it is unregistered. The behavior is identical to explicitly calling one of the dispose operations on the instance prior to calling the unregister operation.
  • DDS_BOOLEAN_FALSE

    The DDSDataWriter will not dispose the instance. The application can still call one of the dispose operations prior to unregistering the instance and accomplish the same effect.

[default] DDS_BOOLEAN_TRUE

<<eXtension>> Maximum duration for which the DDSDataWriter will maintain information regarding an instance once it has unregistered the instance.

After this time elapses, the DDSDataWriter will purge all internal information regarding the instance, including historical samples.

When the duration is zero, the instance is purged as soon as all the samples have been acknowledged by all the live DataReaders.

[default] DDS_DURATION_INFINITE (disabled)

[range] [0, 1 year] or DDS_DURATION_INFINITE


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