From accee09d21ed73ed85cbfa7c87da23553c15bd7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Al=D0=B5x=D0=B0nder=20Lysik=D0=BEv?=
 <alexander.lysikov@demlabs.net>
Date: Wed, 20 Nov 2019 20:30:30 +0500
Subject: [PATCH] not use time_start for chain sync

---
 dap_chain_node_cli_cmd.c |  4 ++--
 dap_chain_node_client.c  | 11 +++++++----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c
index c0922a4..416898c 100644
--- a/dap_chain_node_cli_cmd.c
+++ b/dap_chain_node_cli_cmd.c
@@ -1074,7 +1074,7 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply)
             return -1;
         }
         // wait connected
-        int timeout_ms = 50000; //5 sec = 5000 ms
+        int timeout_ms = 5000; //5 sec = 5000 ms
         int res = dap_chain_node_client_wait(l_node_client, NODE_CLIENT_STATE_CONNECTED, timeout_ms);
         if(res) {
             dap_chain_node_cli_set_reply_text(a_str_reply, "no response from node: code %d", res);
@@ -1216,7 +1216,7 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply)
             dap_stream_ch_set_ready_to_write(l_ch_chain, true);
 
             // wait for finishing of request
-            timeout_ms = 1200000; // 2 min = 120 sec = 120 000 ms
+            timeout_ms = 120000; // 2 min = 120 sec = 120 000 ms
             // TODO add progress info to console
             res = dap_chain_node_client_wait(l_node_client, NODE_CLIENT_STATE_SYNCED, timeout_ms);
             if(res < 0) {
diff --git a/dap_chain_node_client.c b/dap_chain_node_client.c
index 0a3fb88..0ece420 100644
--- a/dap_chain_node_client.c
+++ b/dap_chain_node_client.c
@@ -294,7 +294,11 @@ static void s_ch_chain_callback_notify_packet_in(dap_stream_ch_chain_t* a_ch_cha
             l_request = (dap_stream_ch_chain_sync_request_t*) a_pkt->data;
 
         if(l_request) {
-            if(l_request->id_start < (uint64_t) dap_db_log_get_last_id()) {
+            uint64_t l_id_last_here = 1;
+            // for sync chain not used time
+            if(a_pkt_type != DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_CHAINS)
+                l_id_last_here =(uint64_t) dap_db_log_get_last_id();
+            if(l_request->id_start < l_id_last_here) {
                 log_it(L_INFO, "Remote is synced but we have updates for it");
                 // Get log diff
                 a_ch_chain->request_last_ts = dap_db_log_get_last_id();
@@ -317,9 +321,8 @@ static void s_ch_chain_callback_notify_packet_in(dap_stream_ch_chain_t* a_ch_cha
                     if(l_type == DAP_STREAM_CH_CHAIN_PKT_TYPE_FIRST_CHAIN)
                     {
                         dap_chain_t * l_chain = dap_chain_find_by_id(a_pkt->hdr.net_id, a_pkt->hdr.chain_id);
-                        // dbg
                         dap_chain_atom_iter_t* l_iter = l_chain ? l_chain->callback_atom_iter_create(l_chain) : NULL;
-                        a_ch_chain->request_atom_iter = l_iter;
+                        //a_ch_chain->request_atom_iter = l_iter;
 
                         dap_chain_atom_ptr_t * l_lasts = NULL;
                         size_t l_lasts_size = 0;
@@ -340,7 +343,7 @@ static void s_ch_chain_callback_notify_packet_in(dap_stream_ch_chain_t* a_ch_cha
                                 DAP_DELETE(l_lasts[i]);
                         }
                         DAP_DELETE(l_lasts);
-                        //DAP_DELETE(l_iter);
+                        DAP_DELETE(l_iter);
                     }
                     dap_chain_node_addr_t l_node_addr = { 0 };
                     dap_chain_net_t *l_net = dap_chain_net_by_id(a_ch_chain->request_net_id);
-- 
GitLab