From 7a2364aef4c5dd531205ddebdb3883a1378513b7 Mon Sep 17 00:00:00 2001 From: cellframe <roman.khlopkov@demlabs.net> Date: Wed, 23 Nov 2022 19:07:43 +0300 Subject: [PATCH] [*] GlobalDB callbacks refactoring --- modules/chain/dap_chain_ledger.c | 33 ++++++++----------- modules/channel/chain/dap_stream_ch_chain.c | 12 +++---- .../block-ton/dap_chain_cs_block_ton.c | 15 ++++----- .../consensus/dag-poa/dap_chain_cs_dag_poa.c | 12 +++---- modules/consensus/none/dap_chain_cs_none.c | 5 ++- modules/mempool/dap_chain_mempool.c | 14 ++++---- modules/net/dap_chain_net.c | 15 ++++----- modules/type/dag/dap_chain_cs_dag.c | 3 +- 8 files changed, 47 insertions(+), 62 deletions(-) diff --git a/modules/chain/dap_chain_ledger.c b/modules/chain/dap_chain_ledger.c index c039306961..edfa293808 100644 --- a/modules/chain/dap_chain_ledger.c +++ b/modules/chain/dap_chain_ledger.c @@ -1538,8 +1538,8 @@ static void s_threshold_txs_proc( dap_ledger_t *a_ledger) * @param a_values * @param a_arg */ -static bool s_load_cache_gdb_loaded_balances_callback(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_load_cache_gdb_loaded_balances_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -1564,7 +1564,6 @@ static bool s_load_cache_gdb_loaded_balances_callback(dap_global_db_context_t * pthread_mutex_lock( &l_ledger_pvt->load_mutex ); pthread_cond_broadcast( &l_ledger_pvt->load_cond ); pthread_mutex_unlock( &l_ledger_pvt->load_mutex ); - return true; } /** @@ -1579,8 +1578,8 @@ static bool s_load_cache_gdb_loaded_balances_callback(dap_global_db_context_t * * @param a_values * @param a_arg */ -static bool s_load_cache_gdb_loaded_spent_txs_callback(dap_global_db_context_t *a_global_db_context, int a_rc, - const char *a_group, const char *a_key, +static void s_load_cache_gdb_loaded_spent_txs_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -1597,7 +1596,6 @@ static bool s_load_cache_gdb_loaded_spent_txs_callback(dap_global_db_context_t * char * l_gdb_group = dap_chain_ledger_get_gdb_group(l_ledger, DAP_CHAIN_LEDGER_BALANCES_STR); dap_global_db_get_all(l_gdb_group,0, s_load_cache_gdb_loaded_balances_callback, l_ledger); DAP_DELETE(l_gdb_group); - return true; } /** @@ -1612,9 +1610,9 @@ static bool s_load_cache_gdb_loaded_spent_txs_callback(dap_global_db_context_t * * @param a_values * @param a_arg */ -static bool s_load_cache_gdb_loaded_txs_callback(dap_global_db_context_t *a_global_db_context, int a_rc, - const char *a_group, const char *a_key, - const size_t a_values_total, const size_t a_values_count, +static void s_load_cache_gdb_loaded_txs_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, + const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { dap_ledger_t * l_ledger = (dap_ledger_t*) a_arg; @@ -1631,11 +1629,10 @@ static bool s_load_cache_gdb_loaded_txs_callback(dap_global_db_context_t *a_glob char *l_gdb_group = dap_chain_ledger_get_gdb_group(l_ledger, DAP_CHAIN_LEDGER_SPENT_TXS_STR); dap_global_db_get_all(l_gdb_group,0, s_load_cache_gdb_loaded_spent_txs_callback, l_ledger); DAP_DELETE(l_gdb_group); - return true; } -static bool s_load_cache_gdb_loaded_stake_lock_callback(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_load_cache_gdb_loaded_stake_lock_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -1658,7 +1655,6 @@ static bool s_load_cache_gdb_loaded_stake_lock_callback(dap_global_db_context_t char* l_gdb_group = dap_chain_ledger_get_gdb_group(l_ledger, DAP_CHAIN_LEDGER_TXS_STR); dap_global_db_get_all(l_gdb_group,0, s_load_cache_gdb_loaded_txs_callback, l_ledger); DAP_DELETE(l_gdb_group); - return true; } @@ -1675,8 +1671,8 @@ static bool s_load_cache_gdb_loaded_stake_lock_callback(dap_global_db_context_t * @param a_arg * @return Always true thats means to clear up a_values */ -static bool s_load_cache_gdb_loaded_emissions_callback(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_load_cache_gdb_loaded_emissions_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -1707,8 +1703,6 @@ static bool s_load_cache_gdb_loaded_emissions_callback(dap_global_db_context_t * char* l_gdb_group = dap_chain_ledger_get_gdb_group(l_ledger, DAP_CHAIN_LEDGER_STAKE_LOCK_STR); dap_global_db_get_all(l_gdb_group,0, s_load_cache_gdb_loaded_stake_lock_callback, l_ledger); DAP_DELETE(l_gdb_group); - return true; - } @@ -1724,8 +1718,8 @@ static bool s_load_cache_gdb_loaded_emissions_callback(dap_global_db_context_t * * @param a_values * @param a_arg */ -static bool s_load_cache_gdb_loaded_tokens_callback(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_load_cache_gdb_loaded_tokens_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -1760,7 +1754,6 @@ static bool s_load_cache_gdb_loaded_tokens_callback(dap_global_db_context_t * a_ char *l_gdb_group = dap_chain_ledger_get_gdb_group(l_ledger, DAP_CHAIN_LEDGER_EMISSIONS_STR); dap_global_db_get_all(l_gdb_group,0, s_load_cache_gdb_loaded_emissions_callback, l_ledger); DAP_DELETE(l_gdb_group); - return true; } /** diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c index 69e3d419cf..9ce9a502b9 100644 --- a/modules/channel/chain/dap_stream_ch_chain.c +++ b/modules/channel/chain/dap_stream_ch_chain.c @@ -118,8 +118,8 @@ static bool s_sync_out_gdb_proc_callback(dap_proc_thread_t *a_thread, void *a_ar static bool s_sync_in_chains_callback(dap_proc_thread_t *a_thread, void *a_arg); static bool s_gdb_in_pkt_proc_callback(dap_proc_thread_t *a_thread, void *a_arg); -static bool s_gdb_in_pkt_proc_set_raw_callback(dap_global_db_context_t *a_global_db_context, int a_rc, - const char *a_group, const char *a_key, +static void s_gdb_in_pkt_proc_set_raw_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_store_obj_t *a_values, void *a_arg); static void s_gdb_in_pkt_error_worker_callback(dap_worker_t *a_thread, void *a_arg); @@ -589,9 +589,8 @@ static void s_gdb_in_pkt_error_worker_callback(dap_worker_t *a_worker, void *a_a l_sync_request->request_hdr.cell_id.uint64, "ERROR_GLOBAL_DB_INTERNAL_NOT_SAVED"); } - DAP_DELETE(l_sync_request); dap_store_obj_free_one(l_sync_request->obj); - + DAP_DELETE(l_sync_request); } /** @@ -874,8 +873,8 @@ static bool s_gdb_in_pkt_proc_callback(dap_proc_thread_t *a_thread, void *a_arg) * @param a_values * @param a_arg */ -static bool s_gdb_in_pkt_proc_set_raw_callback(dap_global_db_context_t *a_global_db_context, int a_rc, - const char *a_group, const char *a_key, +static void s_gdb_in_pkt_proc_set_raw_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_store_obj_t *a_values, void *a_arg) { @@ -891,7 +890,6 @@ static bool s_gdb_in_pkt_proc_set_raw_callback(dap_global_db_context_t *a_global dap_store_obj_free_one(l_sync_req->obj); DAP_DELETE(l_sync_req); } - return true; } diff --git a/modules/consensus/block-ton/dap_chain_cs_block_ton.c b/modules/consensus/block-ton/dap_chain_cs_block_ton.c index 74174f3814..95ab2f6011 100644 --- a/modules/consensus/block-ton/dap_chain_cs_block_ton.c +++ b/modules/consensus/block-ton/dap_chain_cs_block_ton.c @@ -412,8 +412,8 @@ static bool s_session_send_votefor(s_session_send_votefor_data_t *a_data){ * @param a_values * @param a_arg */ -static bool s_session_round_start_callback_load_session_store_coordinator_state_proc(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_session_round_start_callback_load_session_store_coordinator_state_proc(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -466,7 +466,6 @@ static bool s_session_round_start_callback_load_session_store_coordinator_state_ DAP_DELETE(l_hash_str); } pthread_rwlock_unlock(&l_session->rwlock); - return true; } /** @@ -836,8 +835,8 @@ static void s_session_round_clear(dap_chain_cs_block_ton_session_t *a_session) * @param a_values * @param a_arg */ -static bool s_session_round_finish_callback_load_store(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_session_round_finish_callback_load_store(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) @@ -875,7 +874,6 @@ static bool s_session_round_finish_callback_load_store(dap_global_db_context_t * } s_session_round_clear(l_session); pthread_rwlock_unlock(&l_session->rwlock); // then unlock anyway - return true; } /** * @brief Finish TON round (asyncroniusly) @@ -966,8 +964,8 @@ struct vote_for_load_store_args * @param a_values * @param a_arg */ -static bool s_session_packet_in_callback_vote_for_load_store(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_session_packet_in_callback_vote_for_load_store(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -1050,7 +1048,6 @@ static bool s_session_packet_in_callback_vote_for_load_store(dap_global_db_conte } pthread_rwlock_unlock(&l_session->rwlock); DAP_DELETE(a_arg); - return true; } /** 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 8d377c630b..c5d2ca1402 100644 --- a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c +++ b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c @@ -393,8 +393,8 @@ static int s_callback_new(dap_chain_t * a_chain, dap_config_t * a_chain_cfg) * @param a_values * @param a_arg */ -static bool s_poa_round_check_callback_round_clean(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_poa_round_check_callback_round_clean(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -417,7 +417,6 @@ static bool s_poa_round_check_callback_round_clean(dap_global_db_context_t * a_g } } } - return true; } /** @@ -520,13 +519,13 @@ static dap_chain_cs_dag_event_round_item_t *s_round_event_choose_dup(dap_list_t * @param a_is_pinned * @param a_arg */ -static bool s_callback_round_event_to_chain_callback_get_round_item(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_callback_round_event_to_chain_callback_get_round_item(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_store_obj_t *a_values, void *a_arg) { if (a_rc != DAP_GLOBAL_DB_RC_SUCCESS) - return true; + return; struct round_timer_arg *l_arg = (struct round_timer_arg *)a_arg; dap_chain_cs_dag_t *l_dag = l_arg->dag; dap_chain_cs_dag_poa_pvt_t *l_poa_pvt = PVT(DAP_CHAIN_CS_DAG_POA(l_dag)); @@ -573,7 +572,6 @@ static bool s_callback_round_event_to_chain_callback_get_round_item(dap_global_d dap_list_free(l_dups_list); dap_store_obj_free(l_events_round, l_events_round_size); DAP_DELETE(a_arg); - return true; } /** diff --git a/modules/consensus/none/dap_chain_cs_none.c b/modules/consensus/none/dap_chain_cs_none.c index 38025b8104..b726246407 100644 --- a/modules/consensus/none/dap_chain_cs_none.c +++ b/modules/consensus/none/dap_chain_cs_none.c @@ -281,8 +281,8 @@ const char* dap_chain_gdb_get_group(dap_chain_t * a_chain) * @param a_values * @param a_arg */ -static bool s_ledger_load_callback(dap_global_db_context_t * a_global_db_context,int a_rc, - const char * a_group, const char * a_key, +static void s_ledger_load_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, dap_global_db_obj_t *a_values, void *a_arg) { @@ -302,7 +302,6 @@ static bool s_ledger_load_callback(dap_global_db_context_t * a_global_db_context pthread_mutex_lock(&l_gdb_pvt->load_mutex); pthread_cond_broadcast(&l_gdb_pvt->load_cond); pthread_mutex_unlock(&l_gdb_pvt->load_mutex); - return true; } /** diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c index dea1a1816f..e03870d6e6 100644 --- a/modules/mempool/dap_chain_mempool.c +++ b/modules/mempool/dap_chain_mempool.c @@ -67,8 +67,10 @@ #define LOG_TAG "dap_chain_mempool" -static bool s_tx_create_massive_gdb_save_callback( dap_global_db_context_t * a_global_db_context,int a_rc, const char * a_group, const char * a_key, const size_t a_values_total, - const size_t a_values_count, dap_global_db_obj_t * a_values, void * a_arg); +static void s_tx_create_massive_gdb_save_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, + const size_t a_values_total, const size_t a_values_count, + dap_global_db_obj_t *a_values, void *a_arg); int dap_datum_mempool_init(void) { @@ -461,16 +463,16 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a * @param a_values * @param a_arg */ -static bool s_tx_create_massive_gdb_save_callback (dap_global_db_context_t * a_global_db_context,int a_rc, const char * a_group, const char * a_key, const size_t a_values_total, - const size_t a_values_count, dap_global_db_obj_t * a_values, void * a_arg) - +static void s_tx_create_massive_gdb_save_callback(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, + const size_t a_values_total, const size_t a_values_count, + dap_global_db_obj_t *a_values, void *a_arg) { if( a_rc ==0 ) { log_it(L_NOTICE, "%zu transaction are placed in mempool", a_values_total); }else{ log_it(L_ERROR, "Can't place %zu transactions in mempool", a_values_total); } - return true; } diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index cb37f7a51c..e76ad73a63 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -420,7 +420,7 @@ struct send_records_args{ * @param a_store_obj * @param a_arg */ -static bool s_net_send_records_callback_get_raw (dap_global_db_context_t * a_global_db_context,int a_rc, dap_store_obj_t * a_store_obj, void * a_arg) +static void s_net_send_records_callback_get_raw (dap_global_db_context_t * a_global_db_context,int a_rc, dap_store_obj_t * a_store_obj, void * a_arg) { struct send_records_args * l_args = (struct send_records_args*) a_arg; dap_chain_net_t * l_net = l_args->net; @@ -430,12 +430,12 @@ static bool s_net_send_records_callback_get_raw (dap_global_db_context_t * a_glo if (a_rc != DAP_GLOBAL_DB_RC_SUCCESS ) { log_it(L_DEBUG, "Notified GDB event does not exist"); dap_store_obj_free_one(l_arg_obj); - return true; + return; } if (!a_store_obj->group || !a_store_obj->key) { dap_store_obj_free_one(l_arg_obj); - return true; + return; } a_store_obj->type = l_arg_obj->type; @@ -485,9 +485,7 @@ static bool s_net_send_records_callback_get_raw (dap_global_db_context_t * a_glo } while (it); } else //PVT(l_net)->records_queue = dap_list_append(PVT(l_net)->records_queue, l_obj); - dap_store_obj_free_one(a_store_obj); pthread_rwlock_unlock(&PVT(l_net)->gdbs_lock); - return false; // We've freed obj by our own before } /** @@ -3123,8 +3121,10 @@ bool dap_chain_net_get_flag_sync_from_zero( dap_chain_net_t * a_net) } -bool s_proc_mempool_callback_load(dap_global_db_context_t * a_global_db_context,int a_rc, const char * a_group, const char * a_key, const size_t a_values_total, - const size_t a_values_count, dap_global_db_obj_t * a_values, void * a_arg) +void s_proc_mempool_callback_load(dap_global_db_context_t *a_global_db_context, + int a_rc, const char *a_group, + const size_t a_values_total, const size_t a_values_count, + dap_global_db_obj_t *a_values, void *a_arg) { dap_chain_t * l_chain = (dap_chain_t*) a_arg; dap_chain_net_t * l_net = dap_chain_net_by_id( l_chain->net_id ); @@ -3184,7 +3184,6 @@ bool s_proc_mempool_callback_load(dap_global_db_context_t * a_global_db_context, else { log_it(L_INFO, "%s.%s: No records in mempool", l_net->pub.name, l_chain ? l_chain->name : "[no chain]"); } - return true; } diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c index ab08847c84..68279cda20 100644 --- a/modules/type/dag/dap_chain_cs_dag.c +++ b/modules/type/dag/dap_chain_cs_dag.c @@ -751,8 +751,7 @@ static dap_chain_atom_verify_res_t s_chain_callback_atom_verify(dap_chain_t * a_ if ( memcmp( &l_event_hash, &l_dag->static_genesis_event_hash, sizeof(l_event_hash) ) != 0 ){ char * l_event_hash_str = dap_chain_hash_fast_to_str_new(&l_event_hash); char * l_genesis_event_hash_str = dap_chain_hash_fast_to_str_new(&l_dag->static_genesis_event_hash); - - log_it(L_WARNING, "Wrong genesis block %s (staticly predefined %s)",l_event_hash_str, l_genesis_event_hash_str); + log_it(L_WARNING, "Wrong genesis event %s (staticly predefined %s)",l_event_hash_str, l_genesis_event_hash_str); DAP_DELETE(l_event_hash_str); DAP_DELETE(l_genesis_event_hash_str); return ATOM_REJECT; -- GitLab