gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r35059 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r35059 - gnunet/src/transport
Date: Mon, 2 Feb 2015 10:22:18 +0100

Author: grothoff
Date: 2015-02-02 10:22:18 +0100 (Mon, 02 Feb 2015)
New Revision: 35059

Modified:
   gnunet/src/transport/gnunet-service-transport_ats.c
   gnunet/src/transport/gnunet-service-transport_validation.c
Log:
-doxyen, comments, indentation

Modified: gnunet/src/transport/gnunet-service-transport_ats.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_ats.c 2015-02-02 09:12:25 UTC 
(rev 35058)
+++ gnunet/src/transport/gnunet-service-transport_ats.c 2015-02-02 09:22:18 UTC 
(rev 35059)
@@ -85,6 +85,21 @@
 
 
 /**
+ * Provide an update on the `p2a` map size to statistics.
+ * This function should be called whenever the `p2a` map
+ * is changed.
+ */
+static void
+publish_p2a_stat_update ()
+{
+  GNUNET_STATISTICS_set (GST_stats,
+                        gettext_noop ("# Addresses given to ATS"),
+                        GNUNET_CONTAINER_multipeermap_size (p2a),
+                        GNUNET_NO);
+}
+
+
+/**
  * Find matching address info.
  *
  * @param cls the `struct FindClosure`
@@ -299,6 +314,7 @@
                                             &ai->address->peer,
                                             ai,
                                             
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
+  publish_p2a_stat_update ();  
 }
 
 
@@ -480,6 +496,7 @@
                  GNUNET_CONTAINER_multipeermap_remove (p2a,
                                                        &address->peer,
                                                        ai));
+  publish_p2a_stat_update ();
   GNUNET_break (NULL == ai->session);
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG,
                    "transport-ats",
@@ -518,6 +535,10 @@
   struct AddressInfo *ai = value;
 
   GNUNET_HELLO_address_free (ai->address);
+  GNUNET_assert (GNUNET_YES ==
+                 GNUNET_CONTAINER_multipeermap_remove (p2a,
+                                                       key,
+                                                       ai));
   GNUNET_free (ai);
   return GNUNET_OK;
 }
@@ -532,6 +553,7 @@
   GNUNET_CONTAINER_multipeermap_iterate (p2a,
                                          &destroy_ai,
                                          NULL);
+  publish_p2a_stat_update ();
   GNUNET_CONTAINER_multipeermap_destroy (p2a);
   p2a = NULL;
 }

Modified: gnunet/src/transport/gnunet-service-transport_validation.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_validation.c  2015-02-02 
09:12:25 UTC (rev 35058)
+++ gnunet/src/transport/gnunet-service-transport_validation.c  2015-02-02 
09:22:18 UTC (rev 35059)
@@ -393,7 +393,8 @@
   struct ValidationEntryMatchContext *vemc = cls;
   struct ValidationEntry *ve = value;
 
-  if (0 == GNUNET_HELLO_address_cmp (ve->address, vemc->address))
+  if (0 == GNUNET_HELLO_address_cmp (ve->address, 
+                                    vemc->address))
   {
     vemc->ve = ve;
     return GNUNET_NO;
@@ -587,11 +588,15 @@
     /* build message with structure:
      *  [HELLO][TransportPingMessage][Transport name][Address] */
     memcpy (message_buf, hello, hsize);
-    memcpy (&message_buf[hsize], &ping, sizeof (struct TransportPingMessage));
+    memcpy (&message_buf[hsize],
+           &ping, 
+           sizeof (struct TransportPingMessage));
     memcpy (&message_buf[sizeof (struct TransportPingMessage) + hsize],
-            ve->address->transport_name, slen);
+            ve->address->transport_name, 
+           slen);
     memcpy (&message_buf[sizeof (struct TransportPingMessage) + slen + hsize],
-            ve->address->address, ve->address->address_length);
+            ve->address->address,
+           ve->address->address_length);
     papi = GST_plugins_find (ve->address->transport_name);
     if (NULL == papi)
     {
@@ -754,7 +759,8 @@
   GNUNET_STATISTICS_update (GST_stats,
                             gettext_noop ("# address revalidations started"), 
1,
                             GNUNET_NO);
-  bc = GST_blacklist_test_allowed (&ve->pid, ve->address->transport_name,
+  bc = GST_blacklist_test_allowed (&ve->pid,
+                                  ve->address->transport_name,
                                    &transmit_ping_if_allowed, ve);
   if (NULL != bc)
     ve->bc = bc;                /* only set 'bc' if 'transmit_ping_if_allowed' 
was not already
@@ -1769,22 +1775,39 @@
 };
 
 
+/**
+ * Function called on each entry in the validation map.
+ * Passes the information from the validation entry to
+ * the callback given in the closure.
+ *
+ * @param cls the `struct ValidationIteratorContext`
+ * @param key peer this is about
+ * @param value the `struct ValidationEntry`
+ * @return #GNUNET_OK (continue to iterate)
+ */
 static int
 validation_entries_iterate (void *cls,
-                           const struct GNUNET_PeerIdentity *key,
-                           void *value)
+                           const struct GNUNET_PeerIdentity *key,
+                           void *value)
 {
   struct ValidationIteratorContext *ic = cls;
   struct ValidationEntry *ve = value;
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Notifying about validation entry for 
peer `%s' address `%s' \n",
-      GNUNET_i2s (&ve->pid), GST_plugins_a2s (ve->address));
-  ic->cb (ic->cb_cls, &ve->pid, ve->address, ve->send_time,
-      ve->valid_until, ve->next_validation, ve->state);
-
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
+             "Notifying about validation entry for peer `%s' address `%s' \n",
+             GNUNET_i2s (&ve->pid), 
+             GST_plugins_a2s (ve->address));
+  ic->cb (ic->cb_cls,
+         &ve->pid, 
+         ve->address, 
+         ve->send_time,
+         ve->valid_until,
+         ve->next_validation,
+         ve->state);
   return GNUNET_OK;
 }
 
+
 /**
  * Iterate over all iteration entries
  *




reply via email to

[Prev in Thread] Current Thread [Next in Thread]