Skip to content
Snippets Groups Projects
Unverified Commit d9a4b893 authored by anta999's avatar anta999 Committed by GitHub
Browse files

Merge pull request #6 from cellframe/feature-2305

client commit
parents 5b9aaf70 fbc78f2f
No related branches found
No related tags found
No related merge requests found
dap_client.c 100755 → 100644
...@@ -171,10 +171,12 @@ void dap_client_delete(dap_client_t * a_client) ...@@ -171,10 +171,12 @@ void dap_client_delete(dap_client_t * a_client)
{ {
if(!a_client) if(!a_client)
return; return;
dap_client_disconnect(a_client); dap_client_disconnect(a_client);
if (DAP_CLIENT_PVT(a_client) ) if (DAP_CLIENT_PVT(a_client) )
dap_client_pvt_delete(DAP_CLIENT_PVT(a_client)); dap_client_pvt_delete(DAP_CLIENT_PVT(a_client));
DAP_DELETE(a_client); DAP_DELETE(a_client);
} }
...@@ -289,22 +291,35 @@ void dap_client_request(dap_client_t * a_client, const char * a_full_path, void ...@@ -289,22 +291,35 @@ void dap_client_request(dap_client_t * a_client, const char * a_full_path, void
* @param a_client * @param a_client
* @return * @return
*/ */
int dap_client_disconnect(dap_client_t * a_client) int dap_client_disconnect( dap_client_t *a_client )
{ {
dap_client_pvt_t * l_client_internal = (a_client) ? DAP_CLIENT_PVT(a_client) : NULL; dap_client_pvt_t *l_client_internal = (a_client) ? DAP_CLIENT_PVT(a_client) : NULL;
if(l_client_internal && l_client_internal->stream_socket){
if (l_client_internal->stream_socket ){ if ( l_client_internal && l_client_internal->stream_socket ) {
close (l_client_internal->stream_socket);
l_client_internal->stream_socket = 0; // if ( l_client_internal->stream_es ) {
} // dap_events_socket_remove_and_delete( l_client_internal->stream_es, true );
if(l_client_internal->stream_es) { // l_client_internal->stream_es = NULL;
dap_events_socket_delete(l_client_internal->stream_es, true); // }
l_client_internal->stream_es = NULL;
} <<<<<<< HEAD
// l_client_internal->stream_es->signal_close = true;
dap_events_kill_socket( l_client_internal->stream_es );
=======
l_client_internal->stream_es->signal_close = true;
>>>>>>> bec1af426c69b6a96e831f61603c00135bbd9305
// if (l_client_internal->stream_socket ) {
// close (l_client_internal->stream_socket);
l_client_internal->stream_socket = 0;
// }
return 1; return 1;
} }
//l_client_internal->stream_socket = 0; //l_client_internal->stream_socket = 0;
log_it(L_DEBUG, "dap_client_disconnect( ) done" );
return -1; return -1;
} }
......
File mode changed from 100755 to 100644
dap_client_pvt.c 100755 → 100644
...@@ -114,17 +114,21 @@ void dap_client_pvt_delete(dap_client_pvt_t * a_client_pvt) ...@@ -114,17 +114,21 @@ void dap_client_pvt_delete(dap_client_pvt_t * a_client_pvt)
{ {
if(!a_client_pvt) if(!a_client_pvt)
return; return;
if(a_client_pvt->session_key_id) if(a_client_pvt->session_key_id)
DAP_DELETE(a_client_pvt->session_key_id); DAP_DELETE(a_client_pvt->session_key_id);
if ( a_client_pvt->active_channels ) if ( a_client_pvt->active_channels )
DAP_DELETE(a_client_pvt->active_channels ); DAP_DELETE(a_client_pvt->active_channels );
if (a_client_pvt->session_key) if (a_client_pvt->session_key)
dap_enc_key_delete(a_client_pvt->session_key); dap_enc_key_delete(a_client_pvt->session_key);
if (a_client_pvt->session_key_open) if (a_client_pvt->session_key_open)
dap_enc_key_delete(a_client_pvt->session_key_open); dap_enc_key_delete(a_client_pvt->session_key_open);
if (a_client_pvt->stream_key) if (a_client_pvt->stream_key)
dap_enc_key_delete(a_client_pvt->stream_key); dap_enc_key_delete(a_client_pvt->stream_key);
} }
/** /**
...@@ -831,32 +835,46 @@ void m_stage_stream_streaming(dap_client_t * a_client, void* arg) ...@@ -831,32 +835,46 @@ void m_stage_stream_streaming(dap_client_t * a_client, void* arg)
* @param a_es * @param a_es
* @param arg * @param arg
*/ */
void m_es_stream_delete(dap_events_socket_t * a_es, void * arg) void m_es_stream_delete( dap_events_socket_t *a_es, void *arg )
{ {
log_it(L_INFO, "====================================================== stream delete/peer reconnect"); log_it(L_INFO, "====================================================== stream delete/peer reconnect");
dap_client_t* l_client = DAP_CLIENT(a_es);
if(l_client == NULL) { dap_client_t *l_client = DAP_CLIENT(a_es);
if ( l_client == NULL ) {
log_it(L_ERROR, "dap_client is not initialized"); log_it(L_ERROR, "dap_client is not initialized");
return; return;
} }
dap_client_pvt_t * l_client_pvt = DAP_CLIENT_PVT(l_client); dap_client_pvt_t * l_client_pvt = DAP_CLIENT_PVT(l_client);
if(l_client_pvt == NULL) { if( l_client_pvt == NULL ) {
log_it(L_ERROR, "dap_client_pvt is not initialized"); log_it(L_ERROR, "dap_client_pvt is not initialized");
return; return;
} }
dap_stream_delete(l_client_pvt->stream); dap_stream_delete( l_client_pvt->stream );
l_client_pvt->stream = NULL; l_client_pvt->stream = NULL;
if(l_client_pvt->client)
dap_client_reset(l_client_pvt->client); if( l_client_pvt->client )
dap_client_reset (l_client_pvt->client );
// l_client_pvt->client= NULL; // l_client_pvt->client= NULL;
l_client_pvt->stream_es = NULL; l_client_pvt->stream_es = NULL;
dap_stream_session_close(l_client_pvt->stream_session->id);
// log_it(L_DEBUG, "dap_stream_session_close()");
// sleep(3);
// dap_stream_session_close(l_client_pvt->stream_session->id);
l_client_pvt->stream_session = NULL; l_client_pvt->stream_session = NULL;
if (l_client_pvt->is_reconnect)
if ( l_client_pvt->is_reconnect ) {
log_it(L_DEBUG, "l_client_pvt->is_reconnect = true");
dap_client_go_stage(l_client_pvt->client, STAGE_STREAM_STREAMING, m_stage_stream_streaming); dap_client_go_stage(l_client_pvt->client, STAGE_STREAM_STREAMING, m_stage_stream_streaming);
}
else
log_it(L_DEBUG, "l_client_pvt->is_reconnect = false");
} }
/** /**
......
Subproject commit 999a4bc46231c2398a8d010dee06628965b3c478 Subproject commit d37b2aa26d2a7cc068529db343a87fd728904d33
Subproject commit 1b3a871d6ec93801f14081de51157bbb703593f1 Subproject commit 2520382b703cc4308a6bb017da3b2cc5b95083b9
Subproject commit 7c6065bc699760e6e66ee4e80861a3562b2366c1 Subproject commit e5bb9b75237cd702c5980b4070da9842d1f101e2
Subproject commit 19a6376646f497d97bfe1ea3fade1a907c32f76a Subproject commit 1668210c08275ec85f8278a80c66b50e7414d61c
Subproject commit 8fa982b5333a4ea85429fe772987f9d84e5fb96e Subproject commit 550a546222f8b07c0687c9feaea32d3f2c66e87c
Subproject commit dfbdaa1df0498069e60ffaf42de963375bffa816 Subproject commit 268f422bde88a5f4f254a31b7d52b18d2cad71fc
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