public interface Reliability extends QosPolicy.ForTopic, QosPolicy.ForDataReader, QosPolicy.ForDataWriter, RequestedOffered<Reliability>
DataReader
or offered by a DataWriter
. These levels are
ordered, Reliability.Kind.BEST_EFFORT
being lower than Reliability.Kind.RELIABLE
.
A DataWriter offering a level is implicitly offering all levels below.
Concerns: Topic
, DataReader
, DataWriter
RxO: Yes
Changeable: No
The setting of this policy has a dependency on the setting of the
ResourceLimits
. In case the RELIABILITY kind is set to
RELIABLE the 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 >= requested kind" evaluates to
true. For the purposes of this inequality, the values of RELIABILITY kind
are considered ordered such that BEST_EFFORT < RELIABLE.ResourceLimits
Modifier and Type | Interface and Description |
---|---|
static class |
Reliability.Kind |
QosPolicy.ForDataReader, QosPolicy.ForDataWriter, QosPolicy.ForDomainParticipant, QosPolicy.ForDomainParticipantFactory, QosPolicy.ForPublisher, QosPolicy.ForSubscriber, QosPolicy.ForTopic
Modifier and Type | Method and Description |
---|---|
Reliability.Kind |
getKind() |
Duration |
getMaxBlockingTime() |
Reliability |
withBestEffort() |
Reliability |
withKind(Reliability.Kind kind)
Copy this policy and override the value of the property.
|
Reliability |
withMaxBlockingTime(Duration maxBlockingTime)
Copy this policy and override the value of the property.
|
Reliability |
withMaxBlockingTime(long maxBlockingTime,
TimeUnit unit)
Copy this policy and override the value of the property.
|
Reliability |
withReliable() |
getEnvironment
requestedOfferedContract
compareTo
Reliability.Kind getKind()
Duration getMaxBlockingTime()
Reliability withKind(Reliability.Kind kind)
Reliability withMaxBlockingTime(Duration maxBlockingTime)
Reliability withMaxBlockingTime(long maxBlockingTime, TimeUnit unit)
Reliability withBestEffort()
Reliability withReliable()
Copyright © 2014. All rights reserved.