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(); 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())

View File

@@ -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();
}); });