From dd6d91ac1df02d1d438a7092b4bb5de503d03727 Mon Sep 17 00:00:00 2001 From: peri4 Date: Mon, 18 Mar 2024 10:45:57 +0300 Subject: [PATCH] cloud fixes ... --- utils/cloud_dispatcher/cloudserver.cpp | 5 +++++ utils/cloud_dispatcher/cloudserver.h | 1 + utils/cloud_dispatcher/dispatcherserver.cpp | 2 ++ 3 files changed, 8 insertions(+) diff --git a/utils/cloud_dispatcher/cloudserver.cpp b/utils/cloud_dispatcher/cloudserver.cpp index 4353e2aa..61666916 100644 --- a/utils/cloud_dispatcher/cloudserver.cpp +++ b/utils/cloud_dispatcher/cloudserver.cpp @@ -65,6 +65,11 @@ double CloudServer::lastPing() { } +void CloudServer::close() { + server->close(); +} + + void CloudServer::printStatus() { PIMutexLocker locker(mutex_clients); piCout << " " diff --git a/utils/cloud_dispatcher/cloudserver.h b/utils/cloud_dispatcher/cloudserver.h index ab51433d..6ddead69 100644 --- a/utils/cloud_dispatcher/cloudserver.h +++ b/utils/cloud_dispatcher/cloudserver.h @@ -17,6 +17,7 @@ public: EVENT_HANDLER0(void, printStatus); const DispatcherClient * getConnection() const { return server; } double lastPing(); + void close(); private: DispatcherClient * server; diff --git a/utils/cloud_dispatcher/dispatcherserver.cpp b/utils/cloud_dispatcher/dispatcherserver.cpp index 33133151..ecf9bfd4 100644 --- a/utils/cloud_dispatcher/dispatcherserver.cpp +++ b/utils/cloud_dispatcher/dispatcherserver.cpp @@ -68,6 +68,7 @@ void DispatcherServer::cleanClients() { csc->close(); if (!rmrf_clients.contains(csc)) rmrf_clients << csc; } + c->close(); c_servers.remove(c->serverUUID()); index_c_servers.remove(c->getConnection()); rmrf_clients << const_cast(c->getConnection()); @@ -203,6 +204,7 @@ void DispatcherServer::disconnectClient(DispatcherClient * client) { csc->close(); if (!rmrf_clients.contains(csc)) rmrf_clients << csc; } + cs->close(); c_servers.remove(cs->serverUUID()); index_c_servers.remove(client); delete cs;