diff --git a/access-node/include/insite/config.h b/access-node/include/insite/config.h index 43fbd577dbdb847190eaf51af1beaeabbc880800..e2088b22c40dbe8866f0ac9631ba5bc8907056af 100644 --- a/access-node/include/insite/config.h +++ b/access-node/include/insite/config.h @@ -9,22 +9,22 @@ namespace insite { inline constexpr int kDefaultPortNumberAccessNode = 52056; inline constexpr int kDefaultPortNumberSimulationNode = 18080; -inline constexpr int kDefaultPortNumberSimulationNodeArbor = 1337; -inline constexpr int kDefaultPortNumberAccessWebsocket = 9010; +inline constexpr int kDefaultPortNumberSimulationNodeArbor = 19000; +inline constexpr int kDefaultPortNumberAccessWebsocket = 9011; class ServerConfig { -public: - static ServerConfig &GetInstance() { - static ServerConfig instance; // Guaranteed to be destroyed. - // Instantiated on first use. + public: + static ServerConfig& GetInstance() { + static ServerConfig instance; // Guaranteed to be destroyed. + // Instantiated on first use. return instance; } - ServerConfig() = default; // Constructor? (the {} brackets) are needed here. + ServerConfig() = default; // Constructor? (the {} brackets) are needed here. - void ParseTomlConfigFromFile(const std::string &filename); - void ParseYamlConfigFromFile(const std::string &filename); - void ParseYamlConfigFromString(const std::string &content); + void ParseTomlConfigFromFile(const std::string& filename); + void ParseYamlConfigFromFile(const std::string& filename); + void ParseYamlConfigFromString(const std::string& content); void ParseConfigFromEnv(); void ParseConfigIfExists(); @@ -35,7 +35,7 @@ public: // void GenerateUrls(); void GenerateUrls(std::string base_url, int port_number_nodes); - void GenerateUrls(std::vector<std::string> &url_container, const std::string &base_url, int port_number_nodes); + void GenerateUrls(std::vector<std::string>& url_container, const std::string& base_url, int port_number_nodes); bool ports_consecutive_nest = true; bool ports_consecutive_arbor = true; @@ -55,4 +55,4 @@ public: friend struct fmt::formatter<ServerConfig>; }; -} // namespace insite +} // namespace insite diff --git a/access-node/include/insite/tvb/endpoints.h b/access-node/include/insite/tvb/endpoints.h index 3fbc565194d985e986c782bbf29a0c4c0909e6a3..26e0e4c3f63a02eb981064f9fc288cbc305337c8 100644 --- a/access-node/include/insite/tvb/endpoints.h +++ b/access-node/include/insite/tvb/endpoints.h @@ -1,31 +1,28 @@ #pragma once +#include <tvb/handler.h> +#include <utility_functions.h> +#include <chrono> #include "crow/app.h" #include "crow/http_response.h" #include "crow/middlewares/cors.h" #include "query_params.h" #include "rapidjson/stringbuffer.h" #include "rapidjson/writer.h" -#include <chrono> -#include <tvb/handler.h> -#include <utility_functions.h> namespace insite { class TVBHttpEndpoint { -private: -public: - inline static TvbHandler *tvb_handler = nullptr; - - static void RegisterRoutes(crow::App<crow::CORSHandler> &app); + private: + public: + inline static TvbHandler* tvb_handler = nullptr; - static crow::response LOL(const crow::request &request); + static void RegisterRoutes(crow::App<crow::CORSHandler>& app); - static crow::response GetSimInfoDetails(const crow::request &request, const std::string &value); + static crow::response GetSimInfoDetails(const crow::request& request, const std::string& value); - static crow::response GetSimInfo(const crow::request &request); + static crow::response GetSimInfo(const crow::request& request); - static crow::response GetMonitors(const crow::request &request); + static crow::response GetMonitors(const crow::request& request); - static crow::response GetData(const crow::request &request); - + static crow::response GetData(const crow::request& request); }; -} // namespace insite +} // namespace insite diff --git a/access-node/include/insite/tvb/handler.h b/access-node/include/insite/tvb/handler.h index c19b2072076430480eb006918dbfaf425683a57c..3741e701558f9405962ff476ec7437d369e806fa 100644 --- a/access-node/include/insite/tvb/handler.h +++ b/access-node/include/insite/tvb/handler.h @@ -1,28 +1,28 @@ #pragma once -#include "opcodes.h" -#include "rapidjson/stringbuffer.h" -#include "rapidjson/writer.h" -#include "websocket_server.h" +#include <spdlog/spdlog.h> +#include <tvb/monitor.h> +#include <unistd.h> #include <condition_variable> #include <cstdint> #include <mutex> -#include <spdlog/spdlog.h> #include <thread> -#include <tvb/monitor.h> -#include <unistd.h> +#include "opcodes.h" +#include "rapidjson/stringbuffer.h" +#include "rapidjson/writer.h" +#include "websocket_server.h" namespace insite { class TvbHandler { -public: + public: TvbHandler() = default; - void ParseSimInfoReturn(const std::string &payload); - void ParseDataPacket(const std::string &payload); - void ParseNewMonitorPacket(const std::string &payload); - void ParseSimInfo(const std::string &payload); + void ParseSimInfoReturn(const std::string& payload); + void ParseDataPacket(const std::string& payload); + void ParseNewMonitorPacket(const std::string& payload); + void ParseSimInfo(const std::string& payload); void - SerializeMonitorsJson(rapidjson::Writer<rapidjson::StringBuffer> &writer); - void AddMessageIntoQueue(std::string &&msg); + SerializeMonitorsJson(rapidjson::Writer<rapidjson::StringBuffer>& writer); + void AddMessageIntoQueue(std::string&& msg); void StartThread() { consumer_thread_ = std::thread(&TvbHandler::Consumer, this); @@ -35,7 +35,7 @@ public: void Consumer(); - WebsocketServer *srv; + WebsocketServer* srv; // WebsocketServer *srv; uint64_t bytes = 0; // private: @@ -51,4 +51,4 @@ public: rapidjson::Document sim_info; }; -} // namespace insite +} // namespace insite diff --git a/access-node/include/insite/tvb/monitor.h b/access-node/include/insite/tvb/monitor.h index 97f4f570a2313f56d25399a8699de2beaa228534..6d8214efdac032cde39001a2e63c6c6272f86a14 100644 --- a/access-node/include/insite/tvb/monitor.h +++ b/access-node/include/insite/tvb/monitor.h @@ -27,8 +27,13 @@ class TvbMonitor { std::string uid; std::vector<std::string> observed_variables; + TvbMonitor(std::string name, uint32_t internal_id, std::string uid, std::vector<int> dimensions, std::vector<std::string> observed_variables) + : name(std::move(name)), internal_id(internal_id), uid(std::move(uid)), data(2, dimensions), observed_variables(std::move(observed_variables)) { + stride_length = dimensions; + } + TvbMonitor(std::string name, uint32_t internal_id, std::string uid, std::vector<std::string> observed_variables) - : name(std::move(name)), internal_id(internal_id), uid(std::move(uid)), data(10, {1, 76, 2}), observed_variables(std::move(observed_variables)) { + : name(std::move(name)), internal_id(internal_id), uid(std::move(uid)), data(1000000, {1, 76, 2}), observed_variables(std::move(observed_variables)) { stride_length.push_back(1); stride_length.push_back(76); stride_length.push_back(2); @@ -40,7 +45,7 @@ class TvbMonitor { writer.StartObject(); writer.Key("uid"); writer.String(uid.c_str()); - writer.Key("interalId"); + writer.Key("internalId"); writer.Int(internal_id); writer.Key("type"); writer.String(name.c_str()); @@ -70,9 +75,11 @@ class TvbMonitor { writer.StartObject(); writer.Key("time"); writer.Double(time); + spdlog::error("{}", data.data_.capacity()); for (int var = 0; var < observed_variables.size(); var++) { writer.Key(observed_variables[var].c_str()); writer.StartArray(); + spdlog::error("GetVarByIndex {} {}", timestep, var); auto res = data.GetVarByIndex(timestep, var); for (auto& data : res) { if constexpr (std::is_same_v<T, double>) {