- some statistics for the plugin
authorMatthias Wachs <wachs@net.in.tum.de>
Fri, 27 Apr 2012 08:26:36 +0000 (08:26 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Fri, 27 Apr 2012 08:26:36 +0000 (08:26 +0000)
src/transport/plugin_transport_udp.c
src/transport/plugin_transport_unix.c

index 8fc2c8f8ddf10105a13843a1699aff2bae1285dc..5d512d9e41958bfb70088b591c108a81b0eb5cea 100644 (file)
@@ -653,6 +653,10 @@ disconnect_and_free_it (void *cls, const GNUNET_HashCode * key, void *value)
                                                        &s->target.hashPubKey,
                                                        s));
 
+  GNUNET_STATISTICS_set(plugin->env->stats,
+                        "# UDP sessions active",
+                        GNUNET_CONTAINER_multihashmap_size(plugin->sessions),
+                        GNUNET_NO);
 
   GNUNET_free (s);
   return GNUNET_OK;
@@ -877,6 +881,11 @@ udp_plugin_get_session (void *cls,
                                                     s,
                                                     GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
 
+  GNUNET_STATISTICS_set(plugin->env->stats,
+                        "# UDP sessions active",
+                        GNUNET_CONTAINER_multihashmap_size(plugin->sessions),
+                        GNUNET_NO);
+
   return s;
 }
 
@@ -2105,6 +2114,8 @@ libgnunet_plugin_transport_udp_init (void *cls)
     return api;
   }
 
+  GNUNET_assert( NULL != env->stats);
+
   /* Get port number */
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_number (env->cfg, "transport-udp", "PORT",
index ecfe157830ffb81a407bebe80309f6eb2ccd991e..c01304b3f975505d3f322236c94032bf737a1ea9 100644 (file)
@@ -261,6 +261,11 @@ get_session_delete_it (void *cls, const GNUNET_HashCode * key, void *value)
   GNUNET_assert (GNUNET_YES ==
                 GNUNET_CONTAINER_multihashmap_remove(plugin->session_map, &s->target.hashPubKey, s));
 
+  GNUNET_STATISTICS_set(plugin->env->stats,
+                        "# UNIX sessions active",
+                        GNUNET_CONTAINER_multihashmap_size(plugin->session_map),
+                        GNUNET_NO);
+
   GNUNET_free (s);
 
   return GNUNET_YES;
@@ -544,6 +549,12 @@ unix_plugin_get_session (void *cls,
   GNUNET_CONTAINER_multihashmap_put (plugin->session_map,
       &address->peer.hashPubKey, s,
       GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
+
+  GNUNET_STATISTICS_set(plugin->env->stats,
+                        "# UNIX sessions active",
+                        GNUNET_CONTAINER_multihashmap_size(plugin->session_map),
+                        GNUNET_NO);
+
 #if DEBUG_UNIX
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating new session\n");
 #endif
@@ -1071,6 +1082,7 @@ libgnunet_plugin_transport_unix_init (void *cls)
     api->string_to_address = NULL; // FIXME!
     return api;
   }
+  GNUNET_assert( NULL != env->stats);
 
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_number (env->cfg, "transport-unix", "PORT",