From 0a455d706b5011886e57270ad538e713bb88a9e8 Mon Sep 17 00:00:00 2001 From: "roman.khlopkov" <roman.khlopkov@demlabs.net> Date: Wed, 21 Feb 2024 18:35:33 +0300 Subject: [PATCH] [*] Announce node address per net based now --- dap-sdk | 2 +- .../consensus/dag-poa/dap_chain_cs_dag_poa.c | 1 - modules/net/dap_chain_net.c | 31 +++++++------------ modules/net/include/dap_chain_net.h | 2 +- 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/dap-sdk b/dap-sdk index a806d84506..e33119e884 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit a806d84506a9c073a90ca792006019aaa8acdb30 +Subproject commit e33119e8840942990fa78461420d49ea0976c002 diff --git a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c index 2c3218072d..f50230daf7 100644 --- a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c +++ b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c @@ -971,7 +971,6 @@ dap_list_t *dap_chain_cs_dag_poa_get_auth_certs(dap_chain_t *a_chain, size_t *a_ if (a_count_verify) *a_count_verify = l_poa_pvt->auth_certs_count_verify; - dap_list_t *l_keys_list = NULL; for(size_t i = 0; i < l_poa_pvt->auth_certs_count; i++) { diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index 998ceea52d..585fa6c4a0 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -2983,7 +2983,6 @@ int s_net_load(dap_chain_net_t *a_net) uint32_t l_timeout = dap_config_get_item_uint32_default(g_config, "node_client", "timer_update_states", 600); PVT(l_net)->main_timer = dap_interval_timer_create(l_timeout * 1000, s_main_timer_callback, l_net); - dap_config_close(l_cfg); log_it(L_INFO, "Chain network \"%s\" initialized",l_net->pub.name); @@ -3715,23 +3714,17 @@ uint256_t dap_chain_net_get_reward(dap_chain_net_t *a_net, uint64_t a_block_num) return uint256_0; } -void dap_chain_net_announce_addrs() { - if(!HASH_COUNT(s_net_items)){ - log_it(L_ERROR, "Can't find any nets"); - return; - } - dap_chain_net_item_t *l_net_item = NULL, *l_tmp = NULL; - HASH_ITER(hh, s_net_items, l_net_item, l_tmp) { - dap_chain_net_pvt_t *l_net_pvt = PVT(l_net_item->chain_net); - if (l_net_pvt->node_info->hdr.ext_port && - (l_net_pvt->node_info->hdr.ext_addr_v4.s_addr != INADDR_ANY - || memcmp(&l_net_pvt->node_info->hdr.ext_addr_v6, &in6addr_any, sizeof(struct in6_addr)))) - { - dap_chain_net_node_list_request(l_net_item->chain_net, l_net_pvt->node_info, false); - char l_node_addr_str[INET_ADDRSTRLEN] = { '\0' }; - inet_ntop(AF_INET, &l_net_pvt->node_info->hdr.ext_addr_v4, l_node_addr_str, INET_ADDRSTRLEN); - log_it(L_MSG, "Announce our node address "NODE_ADDR_FP_STR" < %s:%u > in net %s", - NODE_ADDR_FP_ARGS_S(g_node_addr), l_node_addr_str, l_net_pvt->node_info->hdr.ext_port, l_net_item->name); - } +void dap_chain_net_announce_addrs(dap_chain_net_t *a_net) +{ + dap_return_if_fail(a_net); + dap_chain_net_pvt_t *l_net_pvt = PVT(a_net); + if (l_net_pvt->node_info->hdr.ext_port && + (l_net_pvt->node_info->hdr.ext_addr_v4.s_addr != INADDR_ANY + || memcmp(&l_net_pvt->node_info->hdr.ext_addr_v6, &in6addr_any, sizeof(struct in6_addr)))) { + dap_chain_net_node_list_request(a_net, l_net_pvt->node_info, false); + char l_node_addr_str[INET_ADDRSTRLEN] = { '\0' }; + inet_ntop(AF_INET, &l_net_pvt->node_info->hdr.ext_addr_v4, l_node_addr_str, INET_ADDRSTRLEN); + log_it(L_MSG, "Announce our node address "NODE_ADDR_FP_STR" < %s:%u > in net %s", + NODE_ADDR_FP_ARGS_S(g_node_addr), l_node_addr_str, l_net_pvt->node_info->hdr.ext_port, a_net->pub.name); } } diff --git a/modules/net/include/dap_chain_net.h b/modules/net/include/dap_chain_net.h index 67f151c777..92548139f4 100644 --- a/modules/net/include/dap_chain_net.h +++ b/modules/net/include/dap_chain_net.h @@ -213,7 +213,7 @@ dap_list_t *dap_chain_datum_list(dap_chain_net_t *a_net, dap_chain_t *a_chain, d int dap_chain_datum_add(dap_chain_t * a_chain, dap_chain_datum_t *a_datum, size_t a_datum_size, dap_hash_fast_t *a_datum_hash); bool dap_chain_net_get_load_mode(dap_chain_net_t * a_net); -void dap_chain_net_announce_addrs(); +void dap_chain_net_announce_addrs(dap_chain_net_t *a_net); char *dap_chain_net_links_dump(dap_chain_net_t*); enum dap_chain_net_json_rpc_error_list{ -- GitLab