diff --git a/dap_chain_net_srv.c b/dap_chain_net_srv.c index 1e9b4c0a8fe0f493f5269fba967d0eba6eb99208..4c730e4c94853c9d3b9091eca8f576d549e3171b 100755 --- a/dap_chain_net_srv.c +++ b/dap_chain_net_srv.c @@ -394,7 +394,7 @@ static int s_cli_net_srv( int argc, char **argv, char **a_str_reply) * @param a_uid * @param a_callback_new */ -int dap_chain_net_srv_add(dap_chain_net_srv_uid_t a_uid,dap_chain_net_srv_callback_request_after_t a_callback_request) +int dap_chain_net_srv_add(dap_chain_net_srv_uid_t a_uid,dap_chain_net_srv_callback_data_t a_callback_request) { int ret=0; service_list_t *l_sdata = NULL; @@ -404,7 +404,7 @@ int dap_chain_net_srv_add(dap_chain_net_srv_uid_t a_uid,dap_chain_net_srv_callba if(l_sdata == NULL) { dap_chain_net_srv_t * l_srv = DAP_NEW_Z(dap_chain_net_srv_t); l_srv->uid.uint64 = a_uid.uint64; - l_srv->callback_request = a_callback_request; + l_srv->callback_requested = a_callback_request; l_sdata = DAP_NEW_Z(service_list_t); memcpy(&l_sdata->uid, &l_uid, sizeof(l_uid)); l_sdata->srv = DAP_NEW(dap_chain_net_srv_t); @@ -455,7 +455,7 @@ void dap_chain_net_srv_del_all(void) * @param a_uid * @return */ -dap_chain_net_srv_t * dap_chain_net_srv_get(dap_chain_net_srv_uid_t *a_uid) +dap_chain_net_srv_t * dap_chain_net_srv_get(dap_chain_net_srv_uid_t a_uid) { service_list_t *l_sdata = NULL; pthread_mutex_lock(&s_srv_list_mutex); diff --git a/dap_chain_net_srv.h b/dap_chain_net_srv.h index 348a4bcf6cef3f696187584ff6bc265a9b72f7db..4d2b20505862453e9768b76bb2ffc1a2ec8c2f24 100755 --- a/dap_chain_net_srv.h +++ b/dap_chain_net_srv.h @@ -30,8 +30,8 @@ along with any CellFrame SDK based project. If not, see <http://www.gnu.org/lic typedef struct dap_chain_net_srv dap_chain_net_srv_t; -typedef void (*dap_chain_net_srv_callback_t)(dap_chain_net_srv_t *); -typedef int (*dap_chain_net_srv_callback_request_after_t)(dap_chain_net_srv_t *, dap_chain_net_srv_client_t *, const void *, size_t ); +typedef void (*dap_chain_net_srv_callback_t)(dap_chain_net_srv_t *, dap_chain_net_srv_client_t *); +typedef int (*dap_chain_net_srv_callback_data_t)(dap_chain_net_srv_t *, dap_chain_net_srv_client_t *, const void *, size_t ); typedef struct dap_chain_net_srv { @@ -39,7 +39,9 @@ typedef struct dap_chain_net_srv dap_chain_net_srv_abstract_t srv_common; dap_chain_net_srv_price_t *pricelist; dap_chain_callback_trafic_t callback_trafic; - dap_chain_net_srv_callback_request_after_t callback_request; + dap_chain_net_srv_callback_data_t callback_requested; + dap_chain_net_srv_callback_data_t callback_response_success; + dap_chain_net_srv_callback_data_t callback_response_error; void * _inhertor; } dap_chain_net_srv_t; typedef void (*dap_chain_net_srv_callback_new_t)(dap_chain_net_srv_t *, dap_config_t *); @@ -47,10 +49,10 @@ typedef void (*dap_chain_net_srv_callback_new_t)(dap_chain_net_srv_t *, dap_conf int dap_chain_net_srv_init(void); void dap_chain_net_srv_deinit(void); -int dap_chain_net_srv_add(dap_chain_net_srv_uid_t a_uid,dap_chain_net_srv_callback_request_after_t a_callback_request); +int dap_chain_net_srv_add(dap_chain_net_srv_uid_t a_uid,dap_chain_net_srv_callback_data_t a_callback_request); void dap_chain_net_srv_del(dap_chain_net_srv_t * a_srv); void dap_chain_net_srv_del_all(void); -dap_chain_net_srv_t * dap_chain_net_srv_get(dap_chain_net_srv_uid_t *a_uid); +dap_chain_net_srv_t * dap_chain_net_srv_get(dap_chain_net_srv_uid_t a_uid); size_t dap_chain_net_srv_count(void); const dap_chain_net_srv_uid_t * dap_chain_net_srv_list(void); diff --git a/dap_chain_net_srv_client.h b/dap_chain_net_srv_client.h index 25824f15194f2b81037ba4a32e1887e7ef17fe5a..d385f29c3d01aa4465bbb7448956a6667af758b2 100644 --- a/dap_chain_net_srv_client.h +++ b/dap_chain_net_srv_client.h @@ -33,4 +33,6 @@ typedef struct dap_chain_net_srv_client dap_chain_net_remote_t *net_remote; // For remotes uint64_t bytes_received; uint64_t bytes_sent; + struct dap_chain_net_srv_client *prev; + struct dap_chain_net_srv_client *next; } dap_chain_net_srv_client_t; diff --git a/dap_chain_net_srv_common.h b/dap_chain_net_srv_common.h index 556a9ec481ce74c4545ba71334af69b28dcf5d4d..b210f987d834e9d18e78811b4861f3449b5518ec 100755 --- a/dap_chain_net_srv_common.h +++ b/dap_chain_net_srv_common.h @@ -83,6 +83,8 @@ typedef struct dap_chain_net_srv_price char token[DAP_CHAIN_TICKER_SIZE_MAX]; uint64_t units; dap_chain_net_srv_price_unit_uid_t units_uid; + struct dap_chain_net_srv_price * next; + struct dap_chain_net_srv_price * prev; } dap_chain_net_srv_price_t;