Conversation
Signed-off-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
| std::string rmw_implementation_str = std::string(rmw_get_implementation_identifier()); | ||
| if (rmw_implementation_str != "rmw_zenoh_cpp") { | ||
| po.event_callbacks.deadline_callback = [](rclcpp::QOSDeadlineOfferedInfo &) {}; | ||
| } |
There was a problem hiding this comment.
@ahcorde i am not really sure what needs to be avoided here... what happens if this if statement is not there, exception? and this is user application does to configure PublisherOptions, that means just switching rmw would break the user application?
There was a problem hiding this comment.
I believe if we run this test with rmw_zenoh, an exception will be thrown when rcl will initialize a liveliness or deadline event since we don't support this yet. This happens when we set certain event callbacks in pub/sub options which internally invoke rmw_publisher_event_init/rmw_subscription_event_init. See below.
108: C++ exception with description "Failed to initialize event: provided event_type 7 is not supported by rmw_zenoh_cpp, at /home/yadunund/ros2_rolling/src/ros2/rmw_zenoh/rmw_zenoh_cpp/src/rmw_event.cpp:60" thrown in the test body.
Having said that I think the way to address this would be to set the matched or qos_incompatible callbacks for po.event_callbacks and subscription_options.event_callbacks. instead of the liveliness or deadlines one if rmw_implementation_str == "rmw_zenoh_cpp"
|
Thank you for the PR @fujitatomoya, closing this one |
Fixed wait set test on zenoh