![]() |
OpenSplice C# API
v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
|
This QosPolicy specifies a period after receiving a sample for a particular instance during which a DataReader will drop new samples for the same instance.Effectively the DataReader will receive at most one sample per period for each instance.
Value | Meaning | Concerns | RxO | Changeable |
---|---|---|---|---|
A duration: minimum_separation | Filter that allows a DataReader to specify that it is interested only in (potentially) a subset of the values of the data. The filter states that the DataReader does not want to receive more than one value each minimum_separation period, regardless of how fast the changes occur. At the end of the period the latest state of the instance will be notified and a new filter period will start. In the case there are no new samples in a period the filter will not notify the same latest already notified state and starts waiting for a new sample on this particular instance to start a new period. In the case where the reliability QoS kind is RELIABLE the system guarantees that the latest state is notified. Effectively the DataReader will receive at most one sample with the latest state per period for each instance. It is inconsistent for a DataReader to have a minimum_separation longer than its DEADLINE period. By default minimum_separation=0 indicating DataReader is potentially interested in all values. | DataReader | N/A | Yes |
This policy allows a DataReader to indicate that it does not necessarily want to see all values of each instance published under the Topic. Rather, it wants to see at most one change every minimum_separation period.
The TIME_BASED_FILTER applies to each instance separately, that is, the constraint is that the DataReader does not want to see more than one sample of each instance per minimum_separation period.
This setting allows a DataReader to further decouple itself from the DataWriter objects. It can be used to protect applications that are running on a heterogeneous network where some nodes are capable of generating data much faster than others can consume it. It also accommodates the fact that for fast-changing data different Subscribers may have different requirements as to how frequently they need to be notified of the most current values.
The setting of a TIME_BASED_FILTER, that is, the selection of a minimum_separation with a value greater than zero is compatible with all settings of the HISTORY and RELIABILITY QoS. The TIME_BASED_FILTER specifies the samples that are of interest to the DataReader. The HISTORY and RELIABILITY QoS affect the behaviour of the middleware with respect to the samples that have been determined to be of interest to the DataReader, that is, they apply after the TIME_BASED_FILTER has been applied.
In the case where the reliability QoS kind is RELIABLE then in steady-state, defined as the situation where the DataWriter does not write new samples for a period “long” compared to the minimum_separation, the system should guarantee delivery the last sample to the DataReader.
The setting of the TIME_BASED_FILTER minimum_separation must be consistent with the DEADLINE period. For these two QoS policies to be consistent they must verify that “period >= minimum_separation.” An attempt to set these policies in an inconsistent manner when an entity is created via a set_qos operation will cause the operation to fail.