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

This policy indicates the level of reliability requested by a org.omg.dds.sub.DataReader or offered by a org.omg.dds.pub.DataWriter. More...

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

Classes

enum  Kind
 

Public Member Functions

ServiceEnvironment getEnvironment ()
 
Kind getKind ()
 
Duration getMaxBlockingTime ()
 
Comparable< SELF > requestedOfferedContract ()
 Use the object returned by this method to evaluate the Request/Offer relationship with another instance of this policy. More...
 
Reliability withBestEffort ()
 
Reliability withKind (Kind kind)
 Copy this policy and override the value of the property. More...
 
Reliability withMaxBlockingTime (Duration maxBlockingTime)
 Copy this policy and override the value of the property. More...
 
Reliability withMaxBlockingTime (long maxBlockingTime, TimeUnit unit)
 Copy this policy and override the value of the property. More...
 
Reliability withReliable ()
 

Detailed Description

This policy indicates the level of reliability requested by a org.omg.dds.sub.DataReader or offered by a org.omg.dds.pub.DataWriter.

These levels are ordered, Kind#BEST_EFFORT being lower than Kind#RELIABLE. A DataWriter offering a level is implicitly offering all levels below.

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

RxO: Yes

Changeable: No

The setting of this policy has a dependency on the setting of the org.omg.dds.core.policy.ResourceLimits. In case the RELIABILITY kind is set to RELIABLE the org.omg.dds.pub.DataWriter#write(Object) operation may block if the modification would cause data to be lost or else cause one of the limits specified in the RESOURCE_LIMITS to be exceeded. Under these circumstances, the RELIABILITY maxBlockingTime configures the maximum duration the write operation may block.

If the RELIABILITY kind is set to RELIABLE, data samples originating from a single DataWriter cannot be made available to the DataReader if there are previous data samples that have not been received yet due to a communication error. In other words, the service will repair the error and retransmit data samples as needed in order to reconstruct a correct snapshot of the DataWriter history before it is accessible by the DataReader.

If the RELIABILITY kind is set to BEST_EFFORT, the service will not retransmit missing data samples. However, for data samples originating from any one DataWriter the service will ensure they are stored in the DataReader history in the same order they originated in the DataWriter. In other words, the DataReader may miss some data samples but it will never see the value of a data object change from a newer value to an older value.

The value offered is considered compatible with the value requested if and only if the inequality "offered kind &gt;= requested kind" evaluates to true. For the purposes of this inequality, the values of RELIABILITY kind are considered ordered such that BEST_EFFORT < RELIABLE.

See also
ResourceLimits

Definition at line 68 of file Reliability.java.

Member Function Documentation

◆ 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.Reliability.getKind ( )
Returns
the kind

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

◆ getMaxBlockingTime()

Duration org.omg.dds.core.policy.Reliability.getMaxBlockingTime ( )
Returns
the maximum blocking time

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

◆ requestedOfferedContract()

Comparable<SELF> org.omg.dds.core.policy.RequestedOffered< SELF >.requestedOfferedContract ( )
inherited

Use the object returned by this method to evaluate the Request/Offer relationship with another instance of this policy.

If this policy is offered by a org.omg.dds.pub.DataWriter (or org.omg.dds.pub.Publisher), any other policy evaluated as less than or equal to it by the Comparable may be compatibly requested by a org.omg.dds.sub.DataReader (or org.omg.dds.sub.Subscriber). Similarly, if this policy is requested, any other policy that is greater than or equal to it may be compatibly offered.

Returns
a Comparable object capable of evaluating the Request/Offer relationship between two instances of the QoS policy identified by the type parameter SELF.

◆ withBestEffort()

Reliability org.omg.dds.core.policy.Reliability.withBestEffort ( )
Returns
a best effort Reliability policy

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

◆ withKind()

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

Copy this policy and override the value of the property.

Parameters
kindSpecifies the type of reliability which may be BEST_EFFORT or RELIABLE.
Returns
a new Reliability policy

◆ withMaxBlockingTime() [1/2]

Reliability org.omg.dds.core.policy.Reliability.withMaxBlockingTime ( Duration  maxBlockingTime)

Copy this policy and override the value of the property.

Parameters
maxBlockingTimeSpecifies a duration which is the maximum time the write operation may block when the DataWriter does not have space to store the value or when synchronous communication is specified and all expected acknowledgments are not yet received.
Returns
a new Reliability policy

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

◆ withMaxBlockingTime() [2/2]

Reliability org.omg.dds.core.policy.Reliability.withMaxBlockingTime ( long  maxBlockingTime,
TimeUnit  unit 
)

Copy this policy and override the value of the property.

Parameters
maxBlockingTimeSpecifies a long maxBlockingTime which is the maximum time the write operation may block when the DataWriter does not have space to store the value or when synchronous communication is specified and all expected acknowledgments are not yet received.
unitThe TimeUnit which the period describes (i.e. TimeUnit.SECONDS or TimeUnit.MILLISECONDS)
Returns
a new Reliability policy

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

◆ withReliable()

Reliability org.omg.dds.core.policy.Reliability.withReliable ( )
Returns
a reliable Reliability policy

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


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