Skip to content

Commit 74d9e8e

Browse files
tonynajjarAngsa Deployment Team
andauthored
Add missing sub and pub options (#308)
Co-authored-by: Angsa Deployment Team <team@angsa-robotics.com>
1 parent 136807e commit 74d9e8e

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

image_transport/src/republish.cpp

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -96,18 +96,21 @@ void Republisher::initialize()
9696
"The 'out_transport' parameter is set to: " << out_transport);
9797
}
9898

99+
auto qos_override_options = rclcpp::QosOverridingOptions(
100+
{
101+
rclcpp::QosPolicyKind::Depth,
102+
rclcpp::QosPolicyKind::Durability,
103+
rclcpp::QosPolicyKind::History,
104+
rclcpp::QosPolicyKind::Reliability,
105+
});
106+
rclcpp::SubscriptionOptions sub_options;
107+
rclcpp::PublisherOptions pub_options;
108+
pub_options.qos_overriding_options = qos_override_options;
109+
sub_options.qos_overriding_options = qos_override_options;
110+
99111
if (out_transport.empty()) {
100112
// Use all available transports for output
101-
rclcpp::PublisherOptions pub_options;
102-
auto qos_override_options = rclcpp::QosOverridingOptions(
103-
{
104-
rclcpp::QosPolicyKind::Depth,
105-
rclcpp::QosPolicyKind::Durability,
106-
rclcpp::QosPolicyKind::History,
107-
rclcpp::QosPolicyKind::Reliability,
108-
});
109-
110-
pub_options.qos_overriding_options = qos_override_options;
113+
111114
this->pub = image_transport::create_publisher(
112115
this, out_topic,
113116
rmw_qos_profile_default, pub_options);
@@ -117,9 +120,6 @@ void Republisher::initialize()
117120
const sensor_msgs::msg::Image::ConstSharedPtr &) const;
118121
PublishMemFn pub_mem_fn = &image_transport::Publisher::publish;
119122

120-
rclcpp::SubscriptionOptions sub_options;
121-
sub_options.qos_overriding_options = qos_override_options;
122-
123123
this->sub = image_transport::create_subscription(
124124
this, in_topic, std::bind(pub_mem_fn, &pub, std::placeholders::_1),
125125
in_transport, rmw_qos_profile_default, sub_options);
@@ -133,14 +133,16 @@ void Republisher::initialize()
133133
std::string lookup_name = Plugin::getLookupName(out_transport);
134134

135135
instance = loader->createUniqueInstance(lookup_name);
136-
instance->advertise(this, out_topic);
136+
instance->advertise(this, out_topic, rmw_qos_profile_default, pub_options);
137137

138138
// Use PublisherPlugin::publish as the subscriber callback
139139
typedef void (Plugin::* PublishMemFn)(const sensor_msgs::msg::Image::ConstSharedPtr &) const;
140140
PublishMemFn pub_mem_fn = &Plugin::publishPtr;
141141
this->sub = image_transport::create_subscription(
142142
this, in_topic,
143-
std::bind(pub_mem_fn, instance.get(), std::placeholders::_1), in_transport);
143+
std::bind(
144+
pub_mem_fn,
145+
instance.get(), std::placeholders::_1), in_transport, rmw_qos_profile_default, sub_options);
144146
}
145147
}
146148

0 commit comments

Comments
 (0)