OpenSplice Java 5 DCPS  v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
org.omg.dds.core.policy.History Interface Reference

Specifies the behavior of the Service in the case where the value of a sample changes (one or more times) before it can be successfully communicated to one or more existing subscribers. More...

Inheritance diagram for org.omg.dds.core.policy.History:
Inheritance graph
Collaboration diagram for org.omg.dds.core.policy.History:
Collaboration graph

Classes

enum  Kind
 

Public Member Functions

int getDepth ()
 
ServiceEnvironment getEnvironment ()
 
Kind getKind ()
 
History withDepth (int depth)
 Copy this policy and override the value of the property. More...
 
History withKeepAll ()
 
History withKeepLast (int depth)
 
History withKind (Kind kind)
 Copy this policy and override the value of the property. More...
 

Detailed Description

Specifies the behavior of the Service in the case where the value of a sample changes (one or more times) before it can be successfully communicated to one or more existing subscribers.

This QoS policy controls whether the Service should deliver only the most recent value, attempt to deliver all intermediate values, or do something in between. On the publishing side this policy controls the samples that should be maintained by the DataWriter on behalf of existing DataReader entities. The behavior with regards to a DataReader entities discovered after a sample is written is controlled by the org.omg.dds.core.policy.Durability. On the subscribing side it controls the samples that should be maintained until the application "takes" them from the Service via org.omg.dds.sub.DataReader#take().

Concerns: org.omg.dds.topic.Topic, org.omg.dds.sub.DataReader, org.omg.dds.pub.DataWriter

RxO: No

Changeable: No

  1. This policy controls the behavior of the Service when the value of an instance changes before it is finally communicated to some of its existing DataReader entities.

  2. If the kind is set to Kind#KEEP_LAST, then the Service will only attempt to keep the latest values of the instance and discard the older ones. In this case, the value of depth regulates the maximum number of values (up to and including the most current one) the Service will maintain and deliver. The default (and most common setting) for depth is one, indicating that only the most recent value should be delivered.

  3. If the kind is set to Kind#KEEP_ALL, then the Service will attempt to maintain and deliver all the values of the instance to existing subscribers. The resources that the Service can use to keep this history are limited by the settings of the org.omg.dds.core.policy.ResourceLimits. If the limit is reached, then the behavior of the Service will depend on the org.omg.dds.core.policy.Reliability. If the reliability kind is Reliability.Kind#BEST_EFFORT, then the old values will be discarded. If reliability is Reliability.Kind#RELIABLE, then the Service will block the DataWriter until it can deliver the necessary old values to all subscribers.

The setting of HISTORY depth must be consistent with the RESOURCE_LIMITS maxSamplesPerInstance. For these two QoS to be consistent, they must verify that depth <= maxSamplesPerInstance.

See also
Reliability
ResourceLimits

Definition at line 76 of file History.java.

Member Function Documentation

◆ getDepth()

int org.omg.dds.core.policy.History.getDepth ( )
Returns
the depth

Implemented in org.opensplice.dds.core.policy.HistoryImpl.

◆ getEnvironment()

ServiceEnvironment org.omg.dds.core.DDSObject.getEnvironment ( )
inherited
Returns
the org.omg.dds.core.ServiceEnvironment object that directly or indirectly was used to create this object.

Implemented in org.omg.dds.core.ServiceEnvironment, org.opensplice.dds.sub.ReflectionDataReader< TYPE, OUT_TYPE >, org.opensplice.dds.core.ModifiableTimeImpl, org.opensplice.dds.pub.ReflectionDataWriter< TYPE >, org.opensplice.dds.core.DurationImpl, org.opensplice.dds.topic.ContentFilteredTopicImpl< TYPE >, org.opensplice.dds.sub.ReadConditionImpl< TYPE >, org.opensplice.dds.core.EntityQosImpl< T extends QosPolicy >, org.opensplice.dds.type.TypeSupportImpl< TYPE >, org.opensplice.dds.topic.PublicationBuiltinTopicDataImpl, org.opensplice.dds.topic.SubscriptionBuiltinTopicDataImpl, org.opensplice.dds.topic.TopicBuiltinTopicDataImpl, org.opensplice.dds.domain.DomainParticipantFactoryImpl, org.opensplice.dds.core.QosProviderImpl, org.opensplice.dds.core.status.OfferedIncompatibleQosStatusImpl, org.opensplice.dds.core.status.RequestedIncompatibleQosStatusImpl, org.opensplice.dds.core.InstanceHandleImpl, org.opensplice.dds.core.StatusConditionImpl< T extends Entity<?, ?>, org.opensplice.dds.core.status.LivelinessChangedStatusImpl, org.opensplice.dds.core.status.PublicationMatchedStatusImpl, org.opensplice.dds.core.status.SubscriptionMatchedStatusImpl, org.opensplice.dds.sub.SampleImpl< TYPE >, org.opensplice.dds.core.policy.ShareImpl, org.opensplice.dds.core.status.OfferedDeadlineMissedStatusImpl, org.opensplice.dds.core.status.SampleRejectedStatusImpl, org.opensplice.dds.core.WaitSetImpl, org.opensplice.dds.topic.ParticipantBuiltinTopicDataImpl, org.opensplice.dds.core.status.RequestedDeadlineMissedStatusImpl, org.opensplice.dds.topic.BuiltinTopicKeyImpl, org.opensplice.dds.core.GuardConditionImpl, org.opensplice.dds.core.event.AllDataDisposedEventImpl< TYPE >, org.opensplice.dds.core.policy.QosPolicyCountImpl, org.opensplice.dds.core.status.InconsistentTopicStatusImpl, org.opensplice.dds.core.status.LivelinessLostStatusImpl, org.opensplice.dds.core.status.SampleLostStatusImpl, org.opensplice.dds.core.policy.QosPolicyImpl, org.opensplice.dds.core.status.AllDataDisposedStatusImpl, org.opensplice.dds.core.IllegalArgumentExceptionImpl, org.opensplice.dds.core.InconsistentPolicyExceptionImpl, org.opensplice.dds.core.policy.PolicyFactoryImpl, org.opensplice.dds.core.policy.TypeConsistencyEnforcementImpl, org.opensplice.dds.core.PreconditionNotMetExceptionImpl, org.opensplice.dds.core.AlreadyClosedExceptionImpl, org.opensplice.dds.core.IllegalOperationExceptionImpl, org.opensplice.dds.core.ImmutablePolicyExceptionImpl, org.opensplice.dds.core.NotEnabledExceptionImpl, org.opensplice.dds.core.OutOfResourcesExceptionImpl, org.opensplice.dds.core.DDSExceptionImpl, org.opensplice.dds.core.status.DataAvailableStatusImpl, and org.opensplice.dds.core.status.DataOnReadersStatusImpl.

◆ getKind()

Kind org.omg.dds.core.policy.History.getKind ( )
Returns
the kind

Implemented in org.opensplice.dds.core.policy.HistoryImpl.

◆ withDepth()

History org.omg.dds.core.policy.History.withDepth ( int  depth)

Copy this policy and override the value of the property.

Parameters
depthSpecifies the number of samples of each instance of data (identified by its key) managed by this Entity.
Returns
a new History policy

Implemented in org.opensplice.dds.core.policy.HistoryImpl.

◆ withKeepAll()

History org.omg.dds.core.policy.History.withKeepAll ( )
Returns
History with keep-all policy

Implemented in org.opensplice.dds.core.policy.HistoryImpl.

◆ withKeepLast()

History org.omg.dds.core.policy.History.withKeepLast ( int  depth)
Returns
History with keep-last policy

Implemented in org.opensplice.dds.core.policy.HistoryImpl.

◆ withKind()

History org.omg.dds.core.policy.History.withKind ( Kind  kind)

Copy this policy and override the value of the property.

Parameters
kindSpecifies the type of history, which may be KEEP_LAST or KEEP_ALL
Returns
a new History policy

The documentation for this interface was generated from the following file: