From 0c89b2a16eae49cb23635f6d6c0f13da070c5c66 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 7 Nov 2014 16:33:42 +0000 Subject: implementing plugin session monitoring API (#3452) --- src/transport/plugin_transport_http_server.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/transport/plugin_transport_http_server.c') diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c index c7a1bfe7a..47b0bda7f 100644 --- a/src/transport/plugin_transport_http_server.c +++ b/src/transport/plugin_transport_http_server.c @@ -598,11 +598,13 @@ server_delete_session (struct Session *s) } notify_session_monitor (plugin, s, - GNUNET_TRANSPORT_SS_DOWN); + GNUNET_TRANSPORT_SS_DONE); if (GNUNET_YES == s->known_to_service) + { plugin->env->session_end (plugin->env->cls, s->address, s); + } if (NULL != s->msg_tk) { GNUNET_SERVER_mst_destroy (s->msg_tk); @@ -1459,6 +1461,9 @@ server_lookup_connection (struct HTTP_Server_Plugin *plugin, &s->target, s, GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); + notify_session_monitor (plugin, + s, + GNUNET_TRANSPORT_SS_INIT); notify_session_monitor (plugin, s, GNUNET_TRANSPORT_SS_HANDSHAKE); @@ -1512,7 +1517,13 @@ server_lookup_connection (struct HTTP_Server_Plugin *plugin, (NULL != s->server_recv) ) { s->known_to_service = GNUNET_YES; - plugin->env->session_start (NULL, s->address ,s, NULL, 0); + notify_session_monitor (plugin, + s, + GNUNET_TRANSPORT_SS_UP); + plugin->env->session_start (NULL, + s->address, + s, + NULL, 0); } if ( (NULL == s->server_recv) || @@ -1592,7 +1603,7 @@ server_send_callback (void *cls, GNUNET_free (msg); notify_session_monitor (s->plugin, s, - GNUNET_TRANSPORT_SS_UP); + GNUNET_TRANSPORT_SS_UPDATE); } } if (0 < bytes_read) @@ -3298,7 +3309,7 @@ send_session_info_iter (void *cls, notify_session_monitor (plugin, session, - GNUNET_TRANSPORT_SS_UP); + GNUNET_TRANSPORT_SS_INIT); return GNUNET_OK; } -- cgit v1.2.3