Add qos option to override qos#208
Conversation
|
@mjcarroll could you review this? |
|
any update on this? |
|
@gbiggs friendly ping |
|
Can you please add a test that verifies:
|
|
@gbiggs my team needs this quite badly, how could I take over the patch to add these tests? |
|
I found out that subsriber plugin with options has been already implemented in #186. |
cd0ed13 to
5be5095
Compare
|
@gibiggs I added basic tests at 9086994. |
| rclcpp::Node * nh, const std::string & base_topic, | ||
| rmw_qos_profile_t custom_qos) = 0; | ||
|
|
||
| virtual void advertiseImpl( |
There was a problem hiding this comment.
I think it would be better to add rclcpp::PublisherOptions options = rclcpp::PublisherOptions() to the existing abstract advertiseImpl function. Then plugins can provide the same default options or customised options as they see fit and pass them along. That would avoid the need to overload the advertiseImpl function.
There was a problem hiding this comment.
I implement this in accordance with subscriber impl. I guess this is to keep the interface for the inherited classes in another project such as https://github.com/ros-perception/image_transport_plugins.
@audrow Please correct me if I'm wrong.
| (void) options; | ||
| RCLCPP_ERROR( | ||
| node->get_logger(), | ||
| "PublisherPlugin::advertiseImpl with four arguments has not been overridden"); |
There was a problem hiding this comment.
If it hasn't been overridden, why is it not pure abstract?
9086994 to
5f26f2c
Compare
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
df25b23 to
1bea8c0
Compare
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
f11de98 to
fb89ded
Compare
Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
fb89ded to
4eda95d
Compare
|
CI has passed so merging this. Thank you for the contribution! |
|
Is there a plan to backport this feature to galactic? |
|
Unfortunately not, as this would break API in Galactic. |
* feat: add PublisherOptions arg Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> * test: add qos override test Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> * test: add without options test Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> * remove unused using Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> * separate tests Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp> * separate qos override test Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>
I added qos option to override qos via ros parameter.