Skip to content
This repository is currently being migrated. It's locked while the migration is in progress.

Commit

Permalink
Merge pull request #19 from furushchev/republish-queue-size2
Browse files Browse the repository at this point in the history
image_transport/republish: add in_queue_size/out_queue_size parameters
  • Loading branch information
furushchev authored Feb 1, 2021
2 parents 8d4186f + 47b96b0 commit dd55b1a
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions image_transport/src/republish_nodelet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,15 @@ class RepublishNodelet : public NodeletLazy
boost::shared_ptr<PublisherPlugin> pub_plugin_;
Subscriber sub_;
std::string in_transport_, out_transport_;
int in_queue_size_, out_queue_size_;

virtual void onInit()
{
NodeletLazy::onInit();

pnh_->param<int>("in_queue_size", in_queue_size_, 1);
pnh_->param<int>("out_queue_size", out_queue_size_, 1);

if (!pnh_->getParam("in_transport", in_transport_))
{
NODELET_FATAL("you must set '~in_transport' parameter.");
Expand All @@ -70,7 +74,7 @@ class RepublishNodelet : public NodeletLazy

if (out_transport_.empty())
{
pub_ = advertiseImage(*pnh_, "out", 1);
pub_ = advertiseImage(*pnh_, "out", out_queue_size_);
}
else
{
Expand All @@ -79,7 +83,7 @@ class RepublishNodelet : public NodeletLazy
std::string lookup_name = PublisherPlugin::getLookupName(out_transport_);
pub_plugin_ = loader_->createInstance(lookup_name);

advertiseImage(*pnh_, "out", 1, boost::weak_ptr<PublisherPlugin>(pub_plugin_));
advertiseImage(*pnh_, "out", out_queue_size_, boost::weak_ptr<PublisherPlugin>(pub_plugin_));
}

onInitPostProcess();
Expand All @@ -100,7 +104,7 @@ class RepublishNodelet : public NodeletLazy
typedef void (Publisher::*PublishMemFn)(const sensor_msgs::ImageConstPtr&) const;
PublishMemFn pub_mem_fn = &Publisher::publish;
sub_ = it_->subscribe(
in_topic, 1,
in_topic, in_queue_size_,
boost::bind(pub_mem_fn, &pub_, _1),
ros::VoidPtr(), in_transport_);
}
Expand All @@ -109,7 +113,7 @@ class RepublishNodelet : public NodeletLazy
typedef void (PublisherPlugin::*PublishMemFn)(const sensor_msgs::ImageConstPtr&) const;
PublishMemFn pub_mem_fn = &PublisherPlugin::publish;
sub_ = it_->subscribe(
in_topic, 1,
in_topic, in_queue_size_,
boost::bind(pub_mem_fn, pub_plugin_.get(), _1),
pub_plugin_, in_transport_);
}
Expand Down

0 comments on commit dd55b1a

Please sign in to comment.