gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r27872 - gnunet/src/transport
Date: Wed, 10 Jul 2013 14:01:41 +0200

Author: wachs
Date: 2013-07-10 14:01:41 +0200 (Wed, 10 Jul 2013)
New Revision: 27872

Modified:
   gnunet/src/transport/gnunet-service-transport.c
   gnunet/src/transport/gnunet-service-transport_validation.c
Log:
modified validation to use new api call to set networktype


Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2013-07-10 11:58:22 UTC 
(rev 27871)
+++ gnunet/src/transport/gnunet-service-transport.c     2013-07-10 12:01:41 UTC 
(rev 27872)
@@ -422,10 +422,20 @@
   }
 
        net = papi->get_network (NULL, session);
+  if (GNUNET_ATS_NET_UNSPECIFIED == net)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                                               _("Could not obtain a valid 
network for `%s' %s\n"),
+                GNUNET_i2s (&address->peer), GST_plugins_a2s (address));
+       GNUNET_break (0);
+  }
        ats.type = htonl (GNUNET_ATS_NETWORK_TYPE);
        ats.value = htonl(net);
-       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Notifying ATS about new address 
`%s' in network %s\n",
+       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                       "Notifying ATS about peer `%s''s new address `%s' 
session %p in network %s\n",
+                       GNUNET_i2s (&address->peer),
                        (0 == address->address_length) ? "<inbound>" : 
GST_plugins_a2s (address),
+                       session,
                        GNUNET_ATS_print_network_type(net));
        GNUNET_ATS_address_add (GST_ats,
                        address, session, &ats, 1);

Modified: gnunet/src/transport/gnunet-service-transport_validation.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_validation.c  2013-07-10 
11:58:22 UTC (rev 27871)
+++ gnunet/src/transport/gnunet-service-transport_validation.c  2013-07-10 
12:01:41 UTC (rev 27872)
@@ -266,6 +266,8 @@
   /* FIXME: DEBUGGING */
   int last_line_set_to_no;
   int last_line_set_to_yes;
+
+  enum GNUNET_ATS_Network_Type network;
 };
 
 
@@ -473,6 +475,7 @@
   struct GNUNET_TRANSPORT_PluginFunctions *papi;
   struct GNUNET_TIME_Absolute next;
   const struct GNUNET_MessageHeader *hello;
+  enum GNUNET_ATS_Network_Type network;
   ssize_t ret;
   size_t tsize;
   size_t slen;
@@ -546,6 +549,14 @@
                           message_buf, tsize,
                           PING_PRIORITY, ACCEPTABLE_PING_DELAY,
                           NULL, NULL);
+        network = papi->get_network (ve->address, session);
+        if (GNUNET_ATS_NET_UNSPECIFIED == network)
+        {
+          GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                                                       "Could not obtain a 
valid network for `%s' %s\n",
+                      GNUNET_i2s (pid), GST_plugins_a2s (ve->address));
+               GNUNET_break (0);
+        }
       }
       else
       {
@@ -563,6 +574,8 @@
                               gettext_noop
                               ("# PING without HELLO messages sent"), 1,
                               GNUNET_NO);
+
+    ve->network = network;
     ve->expecting_pong = GNUNET_YES;
     validations_running ++;
          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -723,6 +736,7 @@
   const struct GNUNET_HELLO_Message *hello = cls;
   struct ValidationEntry *ve;
   struct GNUNET_PeerIdentity pid;
+  struct GNUNET_ATS_Information ats;
   struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded public_key;
 
   if (GNUNET_TIME_absolute_get_remaining (expiration).rel_value == 0)
@@ -744,7 +758,11 @@
 
   if (GNUNET_SCHEDULER_NO_TASK == ve->revalidation_task)
     ve->revalidation_task = GNUNET_SCHEDULER_add_now (&revalidate_address, ve);
-  GNUNET_ATS_address_add (GST_ats, address, NULL, NULL, 0);
+
+  ats.type = htonl (GNUNET_ATS_NETWORK_TYPE);
+  ats.value = htonl (ve->network);
+  GNUNET_ATS_address_add (GST_ats, address, NULL, &ats, 1);
+
   return GNUNET_OK;
 }
 
@@ -1248,10 +1266,12 @@
        ve->pong_sig_valid_until = GNUNET_TIME_absolute_ntoh (pong->expiration);
   ve->latency = GNUNET_TIME_absolute_get_duration (ve->send_time);
   {
-    struct GNUNET_ATS_Information ats;
-    ats.type = htonl (GNUNET_ATS_QUALITY_NET_DELAY);
-    ats.value = htonl ((uint32_t) ve->latency.rel_value);
-    GNUNET_ATS_address_add (GST_ats, ve->address, NULL, &ats, 1);
+    struct GNUNET_ATS_Information ats[2];
+    ats[0].type = htonl (GNUNET_ATS_QUALITY_NET_DELAY);
+    ats[0].value = htonl ((uint32_t) ve->latency.rel_value);
+    ats[1].type = htonl (GNUNET_ATS_NETWORK_TYPE);
+    ats[1].value = htonl ((uint32_t) ve->network);
+    GNUNET_ATS_address_add (GST_ats, ve->address, NULL, ats, 2);
   }
   if (validations_running > 0)
   {




reply via email to

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