diff --git a/modules/net/dap_chain_net_balancer.c b/modules/net/dap_chain_net_balancer.c index 3b418c7cfcb460e6e74d671b94cf19cb672659c4..7ab9b4c167ef23207e8c52f1dd5d178e78c04f59 100644 --- a/modules/net/dap_chain_net_balancer.c +++ b/modules/net/dap_chain_net_balancer.c @@ -55,8 +55,8 @@ static_assert(sizeof(dap_chain_net_links_t) + sizeof(dap_chain_node_info_old_t) static const size_t s_max_links_response_count = (DAP_BALANCER_MAX_REPLY_SIZE - sizeof(dap_chain_net_links_t)) / sizeof(dap_chain_node_info_old_t); static dap_balancer_request_info_t* s_request_info_items = NULL; -static bool s_balancer_node = false; -static bool s_balancer_rpc = false; +static bool s_balancer_node = true; +static bool s_balancer_rpc = true; const char *s_uri[] = { "f0intlt4eyl03htogu", diff --git a/modules/net/dap_chain_node_rpc.c b/modules/net/dap_chain_node_rpc.c index b64c02c2c3f834ef3181eadf799c96dc07b05030..92b38785ca4a58e16c51ed8995bc576d3d3c984b 100644 --- a/modules/net/dap_chain_node_rpc.c +++ b/modules/net/dap_chain_node_rpc.c @@ -47,17 +47,21 @@ #include "dap_chain_ledger.h" #define LOG_TAG "dap_chain_node_rpc" +#define DAP_RPC_CLUSTER_GLOBAL ".rpc" +#define DAP_RPC_DB_CLUSTER_GLOBAL DAP_RPC_CLUSTER_GLOBAL ".*" #define DAP_CHAIN_NODE_RPC_STATES_INFO_CURRENT_VERSION 1 typedef struct dap_chain_node_rpc_states_info { uint32_t version; dap_chain_node_addr_t address; - int32_t net_state; uint32_t cli_thread_count; + uint32_t cpu; + uint64_t mem; } DAP_ALIGN_PACKED dap_chain_node_rpc_states_info_t; static const uint64_t s_timer_update_states_info = 10 /*sec*/ * 1000; static const char s_states_group[] = ".rpc.states"; +static dap_global_db_cluster_t *s_global_cluster = NULL; /** * @brief get states info about current @@ -66,7 +70,7 @@ static const char s_states_group[] = ".rpc.states"; static void s_update_node_rpc_states_info(UNUSED_ARG void *a_arg) { for (dap_chain_net_t *l_net = dap_chain_net_iter_start(); l_net; l_net = dap_chain_net_iter_next(l_net)) { - if(dap_chain_net_get_state(l_net) != NET_STATE_OFFLINE) { + if(dap_chain_net_get_state(l_net) == NET_STATE_ONLINE) { size_t l_uplinks_count = 0, l_downlinks_count = 0, @@ -74,7 +78,6 @@ static void s_update_node_rpc_states_info(UNUSED_ARG void *a_arg) dap_chain_node_rpc_states_info_t *l_info = DAP_NEW_Z_RET_IF_FAIL(dap_chain_node_rpc_states_info_t); l_info->version = DAP_CHAIN_NODE_RPC_STATES_INFO_CURRENT_VERSION; l_info->address.uint64 = g_node_addr.uint64; - l_info->net_state = dap_chain_net_get_state(l_net); char *l_gdb_group = dap_strdup_printf("%s%s", l_net->pub.gdb_groups_prefix, s_states_group); const char *l_node_addr_str = dap_stream_node_addr_to_str_static(l_info->address); @@ -140,6 +143,12 @@ static void s_states_info_to_str(dap_chain_net_t *a_net, const char *a_node_addr void dap_chain_node_rpc_init() { + if ( !(s_global_cluster = dap_global_db_cluster_add( + dap_global_db_instance_get_default(), DAP_RPC_CLUSTER_GLOBAL, + *(dap_guuid_t*)&uint128_0, DAP_RPC_DB_CLUSTER_GLOBAL, + 0, + true, DAP_GDB_MEMBER_ROLE_GUEST, DAP_CLUSTER_TYPE_VIRTUAL))) + return; if (dap_proc_thread_timer_add(NULL, s_update_node_rpc_states_info, NULL, s_timer_update_states_info)) log_it(L_ERROR, "Can't activate timer on node states update"); }