This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ddsf:public:guidebook:06_append:02_quality_of_service:time_based_filter [2021/03/29 12:33] murphy |
ddsf:public:guidebook:06_append:02_quality_of_service:time_based_filter [2021/07/14 15:55] (current) murphy ↷ Links adapted because of a move operation |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== TIME_BASED_FILTER QoS Parameter ====== | ====== TIME_BASED_FILTER QoS Parameter ====== | ||
- | [[ddsf:private:guidebook:06_append:02_quality_of_service|return to the Quality of Service (QoS) Parameters ]] | + | [[ddsf:public:guidebook:06_append:02_quality_of_service:start|return to the Quality of Service (QoS) Parameters ]] |
- | The TIME_BASED_FILTER policy allows a ''DataReader'' to indicate that it does not necessarily want to see all values of each [[ddsf:private:guidebook:06_append:glossary:i:instance|instance]] published under the ''[[ddsf:private:guidebook:06_append:glossary:t:topic|Topic]]''. Rather, it wants to see at most one change every ''minimum_separation'' period. | + | The TIME_BASED_FILTER policy allows a ''DataReader'' to indicate that it does not necessarily want to see all values of each [[ddsf:public:guidebook:06_append:glossary:i:instance|instance]] published under the ''[[ddsf:public:guidebook:06_append:glossary:t:topic|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 [[ddsf:private:guidebook:06_append:glossary:s:sample|sample]] of each instance per ''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 [[ddsf:public:guidebook:06_append:glossary:s:sample|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. | 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 | 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 [[ddsf:private:guidebook:06_append:glossary:h:history_qos|HISTORY]] and RELIABILITY [[ddsf:private:guidebook:06_append:glossary:q:quality_of_service_qos_policies|QoS]]. The TIME_BASED_FILTER specifies the samples | + | compatible with all settings of the [[ddsf:public:guidebook:06_append:glossary:h:history_qos|HISTORY]] and RELIABILITY [[ddsf:public:guidebook:06_append:glossary:q:quality_of_service_qos_policies|QoS]]. The TIME_BASED_FILTER specifies the samples |
- | that are of interest to the ''DataReader''. The HISTORY and RELIABILITY QoS affect the behavior of the [[ddsf:private:guidebook:06_append:glossary:m:midware|middleware]] with | + | that are of interest to the ''DataReader''. The HISTORY and RELIABILITY QoS affect the behavior of the [[ddsf:public:guidebook:06_append:glossary:m:midware|middleware]] with |
respect to the samples that have been determined to be of interest to the ''DataReader'', that is, they apply after the | 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. | TIME_BASED_FILTER has been applied. | ||
Line 16: | Line 16: | ||
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''. | 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 [[ddsf:private:guidebook:06_append:glossary:d:deadline_qos|DEADLINE]] period. For these | + | The setting of the TIME_BASED_FILTER ''minimum_separation'' must be consistent with the [[ddsf:public:guidebook:06_append:glossary:d:deadline_qos|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 [[ddsf:private:guidebook:06_append:glossary:e:entity|entity]] is created of via a ''set_qos'' operation will cause the operation to fail. | + | 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 [[ddsf:public:guidebook:06_append:glossary:e:entity|entity]] is created of via a ''set_qos'' operation will cause the operation to fail. |
Source: [[https://www.omg.org/spec/DDS/1.4/PDF | DDS 1.4 Spec]] | Source: [[https://www.omg.org/spec/DDS/1.4/PDF | DDS 1.4 Spec]] |