1
0
mirror of https://gitlab.com/obbart/universal_robots_ros_driver.git synced 2026-04-10 01:50:46 +02:00

do not explicitly stop producers and consumers multiple times

Let the threads handle taking them down.
This commit is contained in:
Felix Mauch
2019-07-16 12:58:34 +02:00
parent c38bd99647
commit 8166bf3d67
5 changed files with 4 additions and 35 deletions

View File

@@ -42,19 +42,6 @@ public:
CalibrationConsumer(); CalibrationConsumer();
virtual ~CalibrationConsumer() = default; virtual ~CalibrationConsumer() = default;
virtual void setupConsumer()
{
}
virtual void teardownConsumer()
{
}
virtual void stopConsumer()
{
}
virtual void onTimeout()
{
}
virtual bool virtual bool
consume(std::shared_ptr<ur_driver::comm::URPackage<ur_driver::primary_interface::PackageHeader>> product); consume(std::shared_ptr<ur_driver::comm::URPackage<ur_driver::primary_interface::PackageHeader>> product);

View File

@@ -45,6 +45,7 @@ public:
} }
virtual void teardownConsumer() virtual void teardownConsumer()
{ {
stopConsumer();
} }
virtual void stopConsumer() virtual void stopConsumer()
{ {
@@ -117,6 +118,7 @@ public:
} }
virtual void teardownProducer() virtual void teardownProducer()
{ {
stopProducer();
} }
virtual void stopProducer() virtual void stopProducer()
{ {
@@ -178,10 +180,6 @@ public:
LOG_DEBUG("Stopping pipeline! <%s>", name_.c_str()); LOG_DEBUG("Stopping pipeline! <%s>", name_.c_str());
if (consumer_ != nullptr)
consumer_->stopConsumer();
producer_.stopProducer();
running_ = false; running_ = false;
if (pThread_.joinable()) if (pThread_.joinable())
@@ -284,8 +282,6 @@ private:
} }
producer_.teardownProducer(); producer_.teardownProducer();
LOG_DEBUG("Pipeline producer ended! <%s>", name_.c_str()); LOG_DEBUG("Pipeline producer ended! <%s>", name_.c_str());
if (consumer_ != nullptr)
consumer_->stopConsumer();
running_ = false; running_ = false;
notifier_.stopped(name_); notifier_.stopped(name_);
} }
@@ -311,7 +307,6 @@ private:
} }
consumer_->teardownConsumer(); consumer_->teardownConsumer();
LOG_DEBUG("Pipeline consumer ended! <%s>", name_.c_str()); LOG_DEBUG("Pipeline consumer ended! <%s>", name_.c_str());
producer_.stopProducer();
running_ = false; running_ = false;
notifier_.stopped(name_); notifier_.stopped(name_);
} }

View File

@@ -56,7 +56,7 @@ public:
} }
void teardownProducer() void teardownProducer()
{ {
stream_.disconnect(); stopProducer();
} }
void stopProducer() void stopProducer()
{ {

View File

@@ -43,19 +43,6 @@ public:
ShellConsumer() = default; ShellConsumer() = default;
virtual ~ShellConsumer() = default; virtual ~ShellConsumer() = default;
virtual void setupConsumer()
{
}
virtual void teardownConsumer()
{
}
virtual void stopConsumer()
{
}
virtual void onTimeout()
{
}
virtual bool consume(std::shared_ptr<URPackage<HeaderT>> product) virtual bool consume(std::shared_ptr<URPackage<HeaderT>> product)
{ {
LOG_INFO("%s", product->toString().c_str()); LOG_INFO("%s", product->toString().c_str());

View File

@@ -68,7 +68,7 @@ public:
*/ */
void disconnect() void disconnect()
{ {
LOG_INFO("Disconnecting from %s:%d", host_.c_str(), port_); LOG_DEBUG("Disconnecting from %s:%d", host_.c_str(), port_);
TCPSocket::close(); TCPSocket::close();
} }