diff --git a/dap_chain_net.c b/dap_chain_net.c index 41deed314fe15114c30a241ce07cee63bff00e71..488d08ffa609d910cd1c06d21a42144d0a731f37 100644 --- a/dap_chain_net.c +++ b/dap_chain_net.c @@ -234,7 +234,8 @@ lb_proc_state: PVT(l_net)->links_addrs_count=1; PVT(l_net)->links_addrs = DAP_NEW_Z_SIZE(dap_chain_node_addr_t, PVT(l_net)->links_addrs_count); - PVT(l_net)->links_addrs[0].uint64 = 1; // root-0 address + dap_chain_node_addr_t * l_node_addr = dap_chain_node_alias_find(l_net, PVT(l_net)->seed_aliases[0] ); + PVT(l_net)->links_addrs[0].uint64 = l_node_addr->uint64; }else { // TODO read cell's nodelist and populate array with it } @@ -257,7 +258,8 @@ lb_proc_state: log_it(L_NOTICE,"%s.state: NET_STATE_LINKS_CONNECTING",l_net->pub.name); size_t l_links_established = 0; for (size_t i =0 ; i < PVT(l_net)->links_addrs_count ; i++ ){ - log_it(L_INFO,"Establishing connection with ",PVT(l_net)->links_addrs[i].raw); + log_it(L_INFO,"Establishing connection with " NODE_ADDR_FP_STR, + NODE_ADDR_FP_ARGS_S( PVT(l_net)->links_addrs[i]) ); dap_chain_node_info_t *l_link_node_info = dap_chain_node_info_read(l_net, &PVT(l_net)->links_addrs[i] ); if ( l_link_node_info ) { dap_chain_node_client_t *l_node_client = dap_chain_node_client_connect(l_link_node_info ); @@ -394,6 +396,7 @@ lb_proc_state: l_sync_gdb.ts_start = (uint64_t) dap_db_log_get_last_timestamp_remote(l_node_client->remote_node_addr.uint64); l_sync_gdb.ts_end = (uint64_t) time(NULL); + log_it(L_DEBUG,"Prepared request to gdb sync from %llu to %llu",l_sync_gdb.ts_start,l_sync_gdb.ts_end); size_t l_res = dap_stream_ch_chain_pkt_write( dap_client_get_stream_ch(l_node_client->client, dap_stream_ch_chain_get_id() ) , DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNC_GLOBAL_DB, l_net->pub.id, (dap_chain_id_t){{0}} , diff --git a/dap_chain_node.c b/dap_chain_node.c index 3525d9fd580a5422e2b1b4e438c6ce21b537fd0b..8358cc143bbf9255a9a8f9b4a9410ff8ffb54d4b 100644 --- a/dap_chain_node.c +++ b/dap_chain_node.c @@ -143,28 +143,28 @@ int dap_chain_node_info_save(dap_chain_net_t * a_net, dap_chain_node_info_t *nod /** * Read node from base */ -dap_chain_node_info_t* dap_chain_node_info_read( dap_chain_net_t * a_net,dap_chain_node_addr_t *address) +dap_chain_node_info_t* dap_chain_node_info_read( dap_chain_net_t * a_net,dap_chain_node_addr_t *l_address) { - char *l_key = dap_chain_node_addr_to_hash_str(address); + char *l_key = dap_chain_node_addr_to_hash_str(l_address); if(!l_key) { log_it(L_WARNING,"Can't calculate hash of addr"); return NULL; } size_t node_info_size = 0; - dap_chain_node_info_t *node_info; + dap_chain_node_info_t *l_node_info; // read node - node_info = (dap_chain_node_info_t *) dap_chain_global_db_gr_get(l_key, &node_info_size, a_net->pub.gdb_nodes); + l_node_info = (dap_chain_node_info_t *) dap_chain_global_db_gr_get(l_key, &node_info_size, a_net->pub.gdb_nodes); - if(!node_info) { - log_it(L_ERROR, "node not found in base"); + if(!l_node_info) { + log_it(L_ERROR, "node with key %s (addr " NODE_ADDR_FP_STR ") not found in base",l_key, NODE_ADDR_FP_ARGS(l_address)); DAP_DELETE(l_key); return NULL; } - size_t node_info_size_must_be = dap_chain_node_info_get_size(node_info); + size_t node_info_size_must_be = dap_chain_node_info_get_size(l_node_info); if(node_info_size_must_be != node_info_size) { log_it(L_ERROR, "Node has bad size in base=%u (must be %u)", node_info_size, node_info_size_must_be); - DAP_DELETE(node_info); + DAP_DELETE(l_node_info); DAP_DELETE(l_key); return NULL; } @@ -175,7 +175,7 @@ dap_chain_node_info_t* dap_chain_node_info_read( dap_chain_net_t * a_net,dap_cha // } // DAP_DELETE(str); DAP_DELETE(l_key); - return node_info; + return l_node_info; } diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c index 24819ba45db7431d68b5ac5c65b899f1fa4a2dde..53268293081cbb8dce34bb8bc537a4be00af1516 100644 --- a/dap_chain_node_cli_cmd.c +++ b/dap_chain_node_cli_cmd.c @@ -763,8 +763,8 @@ int com_node(int a_argc, const char ** a_argv, char **a_str_reply) // wait connected int timeout_ms = 15000; //15 sec = 15000 ms int res = dap_chain_node_client_wait(l_node_client, NODE_CLIENT_STATE_CONNECTED, timeout_ms); - if(res != 1) { - dap_chain_node_cli_set_reply_text(a_str_reply, "no response from node"); + if(res ) { + dap_chain_node_cli_set_reply_text(a_str_reply, "no response from node: code %d",res); // clean client struct dap_chain_node_client_close(l_node_client); DAP_DELETE(l_remote_node_info); @@ -2047,7 +2047,6 @@ int com_token_emit(int argc, const char ** argv, char ** str_reply) , l_gdb_group_mempool_base_tx)) { dap_chain_node_cli_set_reply_text(str_reply, "%s\ndatum tx %s is placed in datum pool ", str_reply_tmp, l_key_str); - dap_chain_ledger_tx_add(l_net->pub.ledger, (dap_chain_datum_tx_t*) l_datum_tx->data); } else { dap_chain_node_cli_set_reply_text(str_reply, "%s\ndatum tx %s is not placed in datum pool ", str_reply_tmp, diff --git a/dap_chain_node_client.c b/dap_chain_node_client.c index e583cafb9af992c96df209f3e652d4305c0cf690..b1ac1f26f86812444f2d7c9bb8fa928b11b3bc34 100644 --- a/dap_chain_node_client.c +++ b/dap_chain_node_client.c @@ -134,7 +134,8 @@ static void s_stage_connected_callback(dap_client_t *a_client, void *a_arg) dap_chain_node_client_t *l_node_client = a_client->_inheritor; assert(l_node_client); if(l_node_client) { - log_it(L_NOTICE,"Stream connection with node 0x%016X established", l_node_client->remote_node_addr.uint64); + log_it(L_NOTICE,"Stream connection with node " NODE_ADDR_FP_STR " established", + NODE_ADDR_FP_ARGS_S( l_node_client->remote_node_addr) ); pthread_mutex_lock(&l_node_client->wait_mutex); l_node_client->state = NODE_CLIENT_STATE_CONNECTED; @@ -360,7 +361,7 @@ int dap_chain_node_client_wait(dap_chain_node_client_t *a_client, int a_waited_s { int ret = -1; if(!a_client) - return -1; + return -3; pthread_mutex_lock(&a_client->wait_mutex); // have waited if(a_client->state == a_waited_state) { @@ -386,11 +387,11 @@ int dap_chain_node_client_wait(dap_chain_node_client_t *a_client, int a_waited_s a_client->state == a_waited_state || a_client->state == NODE_CLIENT_STATE_ERROR ) ) { - ret = a_client->state == a_waited_state ? 1 : -2; + ret = a_client->state == a_waited_state ? 0 : -2; break; } else if(wait == ETIMEDOUT) { // 110 260 - ret = 0; + ret = -1; break; } }