Skip to content
Snippets Groups Projects
Unverified Commit b991c19e authored by Aleksandr Lysikov's avatar Aleksandr Lysikov Committed by GitHub
Browse files

Merge pull request #16 from kelvinblockchain/master

master -> feature2272
parents 34edfef1 0968f3b8
No related branches found
No related tags found
No related merge requests found
......@@ -53,14 +53,19 @@ typedef void (*dap_chain_callback_t)(dap_chain_t *);
typedef int (*dap_chain_callback_new_cfg_t)(dap_chain_t*, dap_config_t *);
typedef void (*dap_chain_callback_ptr_t)(dap_chain_t *, void * );
typedef int (*dap_chain_callback_atom_t)(dap_chain_t *, dap_chain_atom_ptr_t * );
typedef int (*dap_chain_callback_atom_size_t)(dap_chain_t *, dap_chain_atom_ptr_t * ,size_t);
typedef int (*dap_chain_callback_atom_t)(dap_chain_t *, dap_chain_atom_ptr_t );
typedef int (*dap_chain_callback_atom_size_t)(dap_chain_t *, dap_chain_atom_ptr_t ,size_t);
typedef size_t (*dap_chain_callback_atom_get_hdr_size_t)(void);
typedef size_t (*dap_chain_callback_atom_hdr_get_size_t)(dap_chain_atom_ptr_t * );
typedef size_t (*dap_chain_callback_atom_hdr_get_size_t)(dap_chain_atom_ptr_t );
typedef dap_chain_atom_iter_t* (*dap_chain_callback_atom_iter_create_t)(dap_chain_t * );
typedef dap_chain_atom_ptr_t* (*dap_chain_callback_atom_iter_get_first_t)(dap_chain_atom_iter_t * );
typedef dap_chain_atom_ptr_t* (*dap_chain_callback_atom_iter_get_next_t)(dap_chain_atom_iter_t * );
typedef dap_chain_atom_iter_t* (*dap_chain_callback_atom_iter_create_from_t)(dap_chain_t * ,dap_chain_atom_ptr_t);
typedef dap_chain_atom_ptr_t (*dap_chain_callback_atom_iter_get_first_t)(dap_chain_atom_iter_t * );
typedef dap_chain_atom_ptr_t (*dap_chain_callback_atom_iter_find_by_hash_t)(dap_chain_atom_iter_t * ,dap_chain_hash_fast_t *);
typedef dap_chain_atom_ptr_t * (*dap_chain_callback_atom_iter_get_atoms_t)(dap_chain_atom_iter_t * ,size_t * );
typedef dap_chain_atom_ptr_t (*dap_chain_callback_atom_iter_get_next_t)(dap_chain_atom_iter_t * );
typedef void (*dap_chain_callback_atom_iter_delete_t)(dap_chain_atom_iter_t * );
typedef size_t (*dap_chain_datum_callback_datum_pool_proc_add_t)(dap_chain_t * , dap_chain_datum_t **, size_t );
......@@ -90,12 +95,16 @@ typedef struct dap_chain{
dap_chain_datum_callback_datum_pool_proc_add_t callback_datums_pool_proc;
dap_chain_callback_atom_get_hdr_size_t callback_atom_get_hdr_size; // Get atom header's size
dap_chain_callback_atom_hdr_get_size_t callback_atom_hdr_get_size; // Get atom's size from header
dap_chain_callback_atom_get_hdr_size_t callback_atom_get_hdr_static_size; // Get atom header's size
dap_chain_callback_atom_hdr_get_size_t callback_atom_get_size; // Get atom's size from header
dap_chain_callback_atom_iter_create_t callback_atom_iter_create;
dap_chain_callback_atom_iter_create_from_t callback_atom_iter_create_from;
dap_chain_callback_atom_iter_get_first_t callback_atom_iter_get_first;
dap_chain_callback_atom_iter_get_first_t callback_atom_iter_get_next;
dap_chain_callback_atom_iter_find_by_hash_t callback_atom_find_by_hash;
dap_chain_callback_atom_iter_get_next_t callback_atom_iter_get_next;
dap_chain_callback_atom_iter_get_atoms_t callback_atom_iter_get_links;
dap_chain_callback_atom_iter_get_atoms_t callback_atom_iter_get_lasts;
dap_chain_callback_atom_iter_delete_t callback_atom_iter_delete;
/*
......
......@@ -157,7 +157,7 @@ int dap_chain_cell_file_update( dap_chain_cell_t * a_cell)
dap_chain_t * l_chain = a_cell->chain;
dap_chain_atom_iter_t *l_atom_iter = l_chain->callback_atom_iter_create (l_chain);
dap_chain_atom_ptr_t *l_atom = l_chain->callback_atom_iter_get_first(l_atom_iter);
size_t l_atom_size = l_chain->callback_atom_hdr_get_size(l_atom);
size_t l_atom_size = l_chain->callback_atom_get_size(l_atom);
size_t l_total_wrote_bytes = 0;
while ( l_atom && l_atom_size){
if ( fwrite(&l_atom_size,1,sizeof(l_atom_size),a_cell->file_storage) == sizeof(l_atom_size) ){
......@@ -177,7 +177,7 @@ int dap_chain_cell_file_update( dap_chain_cell_t * a_cell)
return -2;
}
l_atom = l_chain->callback_atom_iter_get_next( l_atom_iter );
l_atom_size = l_chain->callback_atom_hdr_get_size(l_atom);
l_atom_size = l_chain->callback_atom_get_size(l_atom);
}
}else {
log_it (L_ERROR,"Can't write cell 0x%016X file \"%s\"",a_cell->id.uint64, a_cell->file_storage_path);
......
......@@ -52,6 +52,16 @@ typedef union dap_chain_cell_id{
uint64_t uint64;
} DAP_ALIGN_PACKED dap_chain_cell_id_t;
/**
* @struct Node address
*
*/
typedef union dap_chain_node_addr{
uint64_t uint64;
uint8_t raw[sizeof(uint64_t)]; // Access to selected octects
} DAP_ALIGN_PACKED dap_chain_node_addr_t;
/**
*
*
......
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