Skip to content
Snippets Groups Projects
Commit 80b132d2 authored by roderick's avatar roderick
Browse files

[*]fix notify

parent aaaaf01e
No related branches found
No related tags found
1 merge request!1693Bugfix 11834
Pipeline #41251 passed with stage
in 12 minutes and 52 seconds
Subproject commit 1b6f4c30a80d1c8ccfdc9a9b4f283caf3073f0ee
Subproject commit 85b0a265180fc0d3a4d34ba6c7f3b5fee82f173d
......@@ -582,15 +582,15 @@ int dap_chain_save_all(dap_chain_t *l_chain)
return l_ret;
}
//send chain downloading data to notify socket
//send chain load_progress data to notify socket
bool download_notify_callback(dap_chain_t* a_chain) {
json_object* l_chain_info = json_object_new_object();
json_object_object_add(l_chain_info, "net_id", json_object_new_uint64(a_chain->net_id.uint64));
json_object_object_add(l_chain_info, "class", json_object_new_string("chain_init"));
json_object_object_add(l_chain_info, "net", json_object_new_string(a_chain->net_name));
json_object_object_add(l_chain_info, "chain_id", json_object_new_uint64(a_chain->id.uint64));
json_object_object_add(l_chain_info, "cell_id", json_object_new_uint64(a_chain->active_cell_id.uint64));
json_object_object_add(l_chain_info, "download_percentage", json_object_new_int(a_chain->download_percentage));
json_object_object_add(l_chain_info, "load_progress", json_object_new_int(a_chain->load_progress));
dap_notify_server_send_mt(json_object_get_string(l_chain_info));
log_it(L_DEBUG, "Download notify: net_name: %s; chain_id: %d; download:%d%c", a_chain->net_name, a_chain->id.uint64, a_chain->download_percentage, '%');
log_it(L_DEBUG, "Load progress: net_name: %s; chain_id: %d; download:%d%c", a_chain->net_name, a_chain->id.uint64, a_chain->load_progress, '%');
json_object_put(l_chain_info);
return true;
}
......
......@@ -439,7 +439,7 @@ int dap_chain_cell_load(dap_chain_t *a_chain, dap_chain_cell_t *a_cell)
uint64_t q = 0;
if (a_chain->is_mapped) {
a_cell->map_pos = a_cell->map + sizeof(dap_chain_cell_file_header_t);
for ( uint64_t l_el_size = 0; l_pos < l_size; ++q, l_pos += l_el_size + sizeof(uint64_t), a_chain->download_percentage = (int)((double)l_pos/l_size * 100 + 0.5)) {
for ( uint64_t l_el_size = 0; l_pos < l_size; ++q, l_pos += l_el_size + sizeof(uint64_t), a_chain->load_progress = (int)((double)l_pos/l_size * 100 + 0.5)) {
size_t space_left = (size_t)( a_cell->map_end - a_cell->map_pos );
if ( space_left < sizeof(uint64_t) || (space_left - sizeof(uint64_t)) < *(uint64_t*)a_cell->map_pos )
if ( s_cell_map_new_volume(a_cell, l_pos) )
......@@ -468,7 +468,7 @@ int dap_chain_cell_load(dap_chain_t *a_chain, dap_chain_cell_t *a_cell)
break;
}
l_pos += sizeof(uint64_t) + ( l_read = fread((void*)l_element, 1, l_el_size, a_cell->file_storage) );
a_chain->download_percentage = (int)((double)l_pos/l_size * 100 + 0.5);
a_chain->load_progress = (int)((double)l_pos/l_size * 100 + 0.5);
if (l_read != l_el_size) {
log_it(L_ERROR, "Read only %lu of %zu bytes, stop cell loading", l_read, l_el_size);
DAP_DELETE(l_element);
......
......@@ -140,7 +140,7 @@ typedef struct dap_chain {
char *net_name;
bool is_datum_pool_proc;
bool is_mapped;
atomic_int download_percentage;
atomic_int load_progress;
// Nested cells (hashtab by cell_id)
dap_chain_cell_t *cells;
dap_chain_cell_id_t active_cell_id;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment