picloud multithread fix

This commit is contained in:
2021-08-31 19:40:22 +03:00
parent 4c85206cfa
commit be3ce454a0
2 changed files with 15 additions and 0 deletions

View File

@@ -62,7 +62,9 @@ void PICloud::TCP::sendStart() {
PIByteArray ba;
ba << header;
ba.append(suuid);
mutex_send.lock();
streampacker->send(ba);
mutex_send.unlock();
}
@@ -70,7 +72,9 @@ void PICloud::TCP::sendConnected(uint client_id) {
header.type = PICloud::TCP::Connect;
PIByteArray ba;
ba << header << client_id;
mutex_send.lock();
streampacker->send(ba);
mutex_send.unlock();
}
@@ -78,7 +82,9 @@ void PICloud::TCP::sendDisconnected(uint client_id) {
header.type = PICloud::TCP::Disconnect;
PIByteArray ba;
ba << header << client_id;
mutex_send.lock();
streampacker->send(ba);
mutex_send.unlock();
}
@@ -88,7 +94,9 @@ int PICloud::TCP::sendData(const PIByteArray & data) {
ba << header;
ba.append(data);
// piCout << "[PICloud::TCP] sendData" << ba.toHex();
mutex_send.lock();
streampacker->send(ba);
mutex_send.unlock();
return data.size_s();
}
@@ -98,7 +106,9 @@ int PICloud::TCP::sendData(const PIByteArray & data, uint client_id) {
PIByteArray ba;
ba << header << client_id;
ba.append(data);
mutex_send.lock();
streampacker->send(ba);
mutex_send.unlock();
return data.size_s();
}
@@ -108,7 +118,9 @@ void PICloud::TCP::sendPing() {
PIByteArray ba;
ba << header;
ba.append(suuid);
mutex_send.lock();
streampacker->send(ba);
mutex_send.unlock();
}

View File

@@ -25,6 +25,7 @@
#include "pip_cloud_export.h"
#include "pistring.h"
#include "pimutex.h"
class PIEthernet;
@@ -86,6 +87,8 @@ private:
PIByteArray suuid;
PIString server_name;
PIStreamPacker * streampacker;
PIMutex mutex_send;
};
}