From f25b9ac95ce897b16bd6df467be0cc69d9f9f87c Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Mon, 24 Jan 2022 08:54:43 -0800 Subject: [PATCH] Improving AutoDiscovery --- src/APConfig.cpp | 1 - src/AutoDiscovery.cpp | 2 -- .../RESTAPI_inventory_list_handler.cpp | 7 +++---- src/WebSocketClientServer.h | 21 ++++++++++++------- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/APConfig.cpp b/src/APConfig.cpp index 70bb699..ec2333b 100644 --- a/src/APConfig.cpp +++ b/src/APConfig.cpp @@ -4,7 +4,6 @@ #include "APConfig.h" #include "StorageService.h" -#include "APConfig.h" namespace OpenWifi { diff --git a/src/AutoDiscovery.cpp b/src/AutoDiscovery.cpp index 292bdd0..c05e6fe 100644 --- a/src/AutoDiscovery.cpp +++ b/src/AutoDiscovery.cpp @@ -5,9 +5,7 @@ #include "AutoDiscovery.h" #include "framework/uCentral_Protocol.h" #include "framework/KafkaTopics.h" -#include "storage/storage_inventory.h" #include "StorageService.h" -#include "framework/MicroService.h" namespace OpenWifi { diff --git a/src/RESTAPI/RESTAPI_inventory_list_handler.cpp b/src/RESTAPI/RESTAPI_inventory_list_handler.cpp index bc22b2b..f80b660 100644 --- a/src/RESTAPI/RESTAPI_inventory_list_handler.cpp +++ b/src/RESTAPI/RESTAPI_inventory_list_handler.cpp @@ -84,10 +84,9 @@ namespace OpenWifi{ ProvObjects::InventoryTagVec Tags; StorageService()->InventoryDB().GetRecords(0,100,Tags," subscriber='" + Arg + "'"); if(SerialOnly) { - std::vector DeviceList; - for(const auto &i:Tags) - DeviceList.push_back(i.serialNumber); - return ReturnObject("serialNumbers",DeviceList); + std::vector SerialNumbers; + std::transform(cbegin(Tags), cend(Tags), std::back_inserter(SerialNumbers), [](const auto &T) { return T.serialNumber; }); + return ReturnObject("serialNumbers",SerialNumbers); } else { return MakeJSONObjectArray("taglist", Tags, *this); } diff --git a/src/WebSocketClientServer.h b/src/WebSocketClientServer.h index 37ca65d..9ce4d4c 100644 --- a/src/WebSocketClientServer.h +++ b/src/WebSocketClientServer.h @@ -17,17 +17,22 @@ namespace OpenWifi { class MyParallelSocketReactor { public: - MyParallelSocketReactor() { + explicit MyParallelSocketReactor(unsigned NumReactors=8) : + NumReactors_(NumReactors) + { + Reactors_ = new Poco::Net::SocketReactor[NumReactors_]; for(int i=0;i Reactors_; - std::array Threads_; + unsigned NumReactors_; + Poco::Net::SocketReactor * Reactors_; + Poco::ThreadPool ReactorPool_; }; class WebSocketClient; @@ -87,9 +92,9 @@ namespace OpenWifi { class WebSocketClient { public: - explicit WebSocketClient( Poco::Net::WebSocket & WS , const std::string Id, Poco::Logger & L) : + explicit WebSocketClient( Poco::Net::WebSocket & WS , const std::string &Id, Poco::Logger & L) : Reactor_(WebSocketClientServer()->ReactorPool().Reactor()), - Id_(std::move(Id)), + Id_(Id), Logger_(L) { try { WS_ = std::make_unique(WS);