add PIByteArray operator <, fix picloud
This commit is contained in:
@@ -198,6 +198,17 @@ inline bool operator <(const PIByteArray & v0, const PIByteArray & v1) {
|
|||||||
return v0.size() < v1.size();
|
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
|
//! \relatesalso PIByteArray @brief Byte arrays compare operator
|
||||||
inline bool operator ==(PIByteArray & f, PIByteArray & s) {
|
inline bool operator ==(PIByteArray & f, PIByteArray & s) {
|
||||||
if (f.size_s() != s.size_s())
|
if (f.size_s() != s.size_s())
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ void DispatcherServer::cleanClients() {
|
|||||||
}
|
}
|
||||||
for (auto c: rmrf_clients) {
|
for (auto c: rmrf_clients) {
|
||||||
clients.removeAll(c);
|
clients.removeAll(c);
|
||||||
|
index_c_servers.remove(c);
|
||||||
|
index_c_clients.remove(c);
|
||||||
rm_clients.removeAll(c);
|
rm_clients.removeAll(c);
|
||||||
}
|
}
|
||||||
map_mutex.unlock();
|
map_mutex.unlock();
|
||||||
@@ -209,6 +211,7 @@ void DispatcherServer::newConnection(PIEthernet *cl) {
|
|||||||
CloudServer * cs = c_servers.value(sname, nullptr);
|
CloudServer * cs = c_servers.value(sname, nullptr);
|
||||||
if (cs) {
|
if (cs) {
|
||||||
rm_clients << c;
|
rm_clients << c;
|
||||||
|
piCoutObj << "dublicate Server ->" << sname.toHex();
|
||||||
} else {
|
} else {
|
||||||
piCoutObj << "add new Server ->" << sname.toHex();
|
piCoutObj << "add new Server ->" << sname.toHex();
|
||||||
CloudServer * cs = new CloudServer(c, sname);
|
CloudServer * cs = new CloudServer(c, sname);
|
||||||
@@ -228,6 +231,7 @@ void DispatcherServer::newConnection(PIEthernet *cl) {
|
|||||||
c->authorise(true);
|
c->authorise(true);
|
||||||
} else {
|
} else {
|
||||||
rm_clients << c;
|
rm_clients << c;
|
||||||
|
piCoutObj << "Client can't connect to Server ->" << sname.toHex();
|
||||||
}
|
}
|
||||||
map_mutex.unlock();
|
map_mutex.unlock();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user