diff --git a/dap_chain_net_srv_stream_session.c b/dap_chain_net_srv_stream_session.c index 4cae5231445c8595746f3698602bc7a1a6f4d1d4..09b4abdcba438cc2a2c806dca652cb1fa1891ae7 100644 --- a/dap_chain_net_srv_stream_session.c +++ b/dap_chain_net_srv_stream_session.c @@ -42,6 +42,7 @@ dap_chain_net_srv_stream_session_t * dap_chain_net_srv_stream_session_create( da } dap_chain_net_srv_stream_session_t * l_session_srv= DAP_NEW_Z(dap_chain_net_srv_stream_session_t); a_session->_inheritor = l_session_srv; + l_session_srv->parent = a_session; log_it(L_NOTICE, "created service session"); return l_session_srv; } diff --git a/dap_chain_net_srv_stream_session.h b/dap_chain_net_srv_stream_session.h index 94f44f4c7e6a68c76b9fb1ac3aa4799755ef4fce..3df8c8484f73dfd70819b56a967719441f7cb310 100644 --- a/dap_chain_net_srv_stream_session.h +++ b/dap_chain_net_srv_stream_session.h @@ -58,6 +58,8 @@ typedef struct dap_chain_net_srv_usage{ UT_hash_handle hh; // } dap_chain_net_srv_usage_t; +typedef void (*dap_response_success_callback_t) (dap_stream_ch_chain_net_srv_pkt_success_t*, void*); + typedef struct dap_chain_net_srv_stream_session { dap_stream_session_t * parent; dap_chain_net_srv_usage_t * usages; @@ -69,6 +71,10 @@ typedef struct dap_chain_net_srv_stream_session { time_t ts_activated; dap_sign_t* user_sign; // User's signature for auth if reconnect + + dap_response_success_callback_t response_success_callback; + void *response_success_callback_data; + } dap_chain_net_srv_stream_session_t; #define DAP_CHAIN_NET_SRV_STREAM_SESSION(a) ((dap_chain_net_srv_stream_session_t *) (a)->_inheritor )