Following on from previous issues I had with creating a QosProvider from an XML in #549 and #555...
Whilst porting another project to use CycloneDDS using a different QoS XML I was encountering the constructor of QosProvider crashing. Tracked this down to when a subscriber or publisher QoS element has and empty partition defined. For example:
<publisher_qos>
<presentation>
<access_scope>INSTANCE_PRESENTATION_QOS</access_scope>
<coherent_access>false</coherent_access>
<ordered_access>false</ordered_access>
</presentation>
<partition>
<name/>
</partition>
<group_data>
<value/>
</group_data>
<entity_factory>
<autoenable_created_entities>true</autoenable_created_entities>
</entity_factory>
</publisher_qos>
This works fine in OpenSplice but with CycloneDDS I catch the following exception:
Dynamic exception type: class dds::core::Error
std::exception::what: Error Error - Unable to create QosProvider.
===============================================================================
Context : __cdecl org::eclipse::cyclonedds::core::QosProviderDelegate::QosProviderDelegate
Node : UnknownNode
And in the console output I see:
1761318845.568764 [] 24452: Error parsing system definition XML: No parameters set for Partition QoS policy (error code -2, line 86)
1761318845.568851 [] 24452: Failed during read sysdef: file://C:/...XXX_qos.xml
If I comment out all the empty partition elements in the XML I no longer get any exceptions and can create the QosProviders as necessary.
Following on from previous issues I had with creating a QosProvider from an XML in #549 and #555...
Whilst porting another project to use CycloneDDS using a different QoS XML I was encountering the constructor of QosProvider crashing. Tracked this down to when a subscriber or publisher QoS element has and empty partition defined. For example:
This works fine in OpenSplice but with CycloneDDS I catch the following exception:
And in the console output I see:
If I comment out all the empty partition elements in the XML I no longer get any exceptions and can create the QosProviders as necessary.