posted on Thursday, December 06, 2007 - 05:57 pm
RTPS gives DDS the ability to interoperate with different DDS providers. However, in DDS there are various QOS that are optional and within some QOS there are optional capabilities.
My question is - What happens when one provider cannot support a QOS and the other one can?
I assume that, in the case of options within a particular QOS, this leads to incompatible QOS on certain topics because one provider cannot specify a high enough (let's assume) QOS that the topic and therefore the other participant have specified.
But, what happens if a provider can't support any part of a QOS? Can it be flagged up somehow and therefore both parties ignore it or does it mean that the two sides are incompatible again?
This is an interesting question. As far as I know, the specification always specifies a default behavior in the case that the a specific QoS policy is not specified or supported. For example, the optional OWNERSHIP is assumed to be of kind SHARED. During the offered-requested QoS arbitration between different entities, these default values should be used. Are you asking this question with a specific QoS in mind?
OK, so you think that the default is taken - and therefore the provider cannot just ignore a QOS but specify that they support something even if they don't. (Default RELIABILITY (RELIABLE) would be a good instance where the default might not be implemented "for-free" but BEST_EFFORT might be).
I guess the answer is that the defaults are taken and that if this is incompatible then the provider needs to implement more function :-)
A compliant implementation of the OMG DDS specification is not allowed to not support non-optional QoS-es. The RELIABLE policy kind is not optional. If a vendor does not implement it, then the product is not compliant to the specification.
If we assume that we are talking about compliant implementations here, then your question applies to optional QoS-es only. For those, the DDS specifcation gives a default QoS policy, which should (again) be supported by the implementation.