add PIByteArray operator <, fix picloud

This commit is contained in:
2021-08-12 20:22:43 +03:00
parent f8818c8537
commit ee131921a0
2 changed files with 15 additions and 0 deletions

View File

@@ -198,6 +198,17 @@ inline bool operator <(const PIByteArray & v0, const PIByteArray & v1) {
return v0.size() < v1.size();
}
//! \relatesalso PIByteArray @brief Byte arrays compare operator
inline bool operator >(const PIByteArray & v0, const PIByteArray & v1) {
if (v0.size() == v1.size()) {
for (uint i = 0; i < v0.size(); ++i)
if (v0[i] != v1[i])
return v0[i] > v1[i];
return false;
}
return v0.size() > v1.size();
}
//! \relatesalso PIByteArray @brief Byte arrays compare operator
inline bool operator ==(PIByteArray & f, PIByteArray & s) {
if (f.size_s() != s.size_s())

View File

@@ -60,6 +60,8 @@ void DispatcherServer::cleanClients() {
}
for (auto c: rmrf_clients) {
clients.removeAll(c);
index_c_servers.remove(c);
index_c_clients.remove(c);
rm_clients.removeAll(c);
}
map_mutex.unlock();
@@ -209,6 +211,7 @@ void DispatcherServer::newConnection(PIEthernet *cl) {
CloudServer * cs = c_servers.value(sname, nullptr);
if (cs) {
rm_clients << c;
piCoutObj << "dublicate Server ->" << sname.toHex();
} else {
piCoutObj << "add new Server ->" << sname.toHex();
CloudServer * cs = new CloudServer(c, sname);
@@ -228,6 +231,7 @@ void DispatcherServer::newConnection(PIEthernet *cl) {
c->authorise(true);
} else {
rm_clients << c;
piCoutObj << "Client can't connect to Server ->" << sname.toHex();
}
map_mutex.unlock();
});