FIX: Updated the use of a function handle

This commit is contained in:
Henry Winkel
2023-08-10 17:17:27 +02:00
parent c7fea6f5cc
commit 1c35c0cf67
2 changed files with 15 additions and 13 deletions

View File

@@ -35,19 +35,15 @@ namespace DirectCommunication
DirectCommunicationClient::~DirectCommunicationClient()
{
sendMessage("CLOSE");
stopWorker_ = true;
Worker_.join();
socket_.close();
isConnected = false;
this->disconnect();
}
void DirectCommunicationClient::disconnect()
{
{
sendMessage("CLOSE");
useHandl_ = false;
MessageHandle_ = nullptr;
stopWorker_ = true;
Worker_.join();
@@ -59,6 +55,7 @@ namespace DirectCommunication
void DirectCommunicationClient::registerMessageCallback(std::function<void(std::string)> MessageHandle)
{
MessageHandle_ = MessageHandle;
useHandl_ = true;
}
void DirectCommunicationClient::sendMessage(std::string msg)
@@ -102,14 +99,19 @@ namespace DirectCommunication
}else
{
if (MessageHandle_ != nullptr)
if (MessageHandle_ == nullptr)
{
auto i = std::async(std::launch::async, MessageHandle_, msg.to_string());
receivedMessages_.addElement(msg.to_string());
// MessageHandle_(msg.to_string());
}
else
{
receivedMessages_.addElement(msg.to_string());
{
if (useHandl_ == true)
{
auto i = std::async(std::launch::async, MessageHandle_, msg.to_string());
}
}
}