[24451] Add Topic-Name Profile Lookup for Endpoint Creation#184
[24451] Add Topic-Name Profile Lookup for Endpoint Creation#184ZakariaTalbi wants to merge 6 commits into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #184 +/- ##
==========================================
+ Coverage 36.09% 36.52% +0.43%
==========================================
Files 174 158 -16
Lines 12329 7548 -4781
Branches 5634 2998 -2636
==========================================
- Hits 4450 2757 -1693
+ Misses 5023 3326 -1697
+ Partials 2856 1465 -1391 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
ad3731a to
2d92e48
Compare
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
2d92e48 to
696de7d
Compare
There was a problem hiding this comment.
Good job! 🥇 We mostly need to decide if XML > YAML or the other way around, we could even add a configuration option to the YAML so we can keep both possibilities and let the user decide.
It is pending to update the documentation of tools using DDS-Pipe.
| fastdds::dds::ReturnCode_t ret_xml_qos = dds_subscriber_->get_datareader_qos_from_profile(topic_name, qos); | ||
|
|
||
| if (ret_xml_qos != fastdds::dds::RETCODE_OK) |
There was a problem hiding this comment.
| fastdds::dds::ReturnCode_t ret_xml_qos = dds_subscriber_->get_datareader_qos_from_profile(topic_name, qos); | |
| if (ret_xml_qos != fastdds::dds::RETCODE_OK) | |
| if (fastdds::dds::RETCODE_OK != dds_subscriber_->get_datareader_qos_from_profile(topic_name, qos)) |
There was a problem hiding this comment.
I am now thinking maybe we should already return here if the profile is found. There might be scenarios in which a user wants to force a specific durability/reliability or history QoS, and if we override with the YAML configuration values, we would be forcing the user to configure through both XML and YAML. However, it would be beneficial to automatically add QoS such as expect_inline_qos for keyed topics.
| { | ||
| fastdds::dds::DataWriterQos qos = dds_publisher_->get_default_datawriter_qos(); | ||
| fastdds::dds::DataWriterQos qos; | ||
| fastdds::dds::ReturnCode_t ret_xml_qos = dds_publisher_->get_datawriter_qos_from_profile(topic_name, qos); |
There was a problem hiding this comment.
Same suggestion as in reader.
|
|
||
| if (ret_xml_qos != fastdds::dds::RETCODE_OK) | ||
| { | ||
| qos = dds_publisher_->get_default_datawriter_qos(); |
There was a problem hiding this comment.
Same comment as in the reader, in this case writer_data_lifecycle and deadline might need special treatment. Note that in this case overriding the deadline via YAML is not possible.
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
Signed-off-by: Zakaria Talbi Lalmi <zakariatalbi@eprosima.com>
Included support for topic-name profile lookup by adding
create_datawriter_with_profile()as the default path in CommonWriter.cpp, with fallback tocreate_datawriter()when needed.Added a new test,
writer_topic_profile_lookup(), in ParticipantsCreationgTest.cpp to validate the feature, and registered it in CMakeLists.txt.