Removing all the tests for the bluetooth transport plugin.
[oweals/gnunet.git] / src / transport / gnunet-transport.c
index 94e4656e3d5a3da5c3bbecb4850e2618c0dc28df..641261c0523f106ca8f2002fdf4b5b4638bef1dc 100644 (file)
@@ -59,6 +59,10 @@ static char *cpid;
  */
 static struct GNUNET_TRANSPORT_Handle *handle;
 
+/**
+ * Configuration handle
+ */
+static struct GNUNET_CONFIGURATION_Handle *cfg;
 
 /**
  * Try_connect handle
@@ -260,14 +264,14 @@ shutdown_task (void *cls,
   {
     duration = GNUNET_TIME_absolute_get_duration (start_time);
     FPRINTF (stdout, _("Transmitted %llu bytes/s (%llu bytes in %s)\n"),
-             1000 * traffic_sent / (1 + duration.rel_value), traffic_sent,
+             1000LL * 1000LL * traffic_sent / (1 + duration.rel_value_us), traffic_sent,
              GNUNET_STRINGS_relative_time_to_string (duration, GNUNET_YES));
   }
   if (benchmark_receive)
   {
     duration = GNUNET_TIME_absolute_get_duration (start_time);
     FPRINTF (stdout, _("Received %llu bytes/s (%llu bytes in %s)\n"),
-             1000 * traffic_received / (1 + duration.rel_value),
+             1000LL * 1000LL * traffic_received / (1 + duration.rel_value_us),
              traffic_received,
              GNUNET_STRINGS_relative_time_to_string (duration, GNUNET_YES));
   }
@@ -318,7 +322,7 @@ operation_timeout (void *cls,
                                GNUNET_free (cur);
 
                }
-               FPRINTF (stdout, _("Failed to list connections, timeout occured\n"));
+               FPRINTF (stdout, "%s", _("Failed to list connections, timeout occured\n"));
       if (GNUNET_SCHEDULER_NO_TASK != end)
         GNUNET_SCHEDULER_cancel (end);
       end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
@@ -511,12 +515,9 @@ transmit_data (void *cls, size_t size, void *buf)
  *
  * @param cls closure
  * @param peer the peer that connected
- * @param ats performance data
- * @param ats_count number of entries in ats (excluding 0-termination)
  */
 static void
-notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer,
-                const struct GNUNET_ATS_Information *ats, uint32_t ats_count)
+notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer)
 {
   if (0 != memcmp (&pid, peer, sizeof (struct GNUNET_PeerIdentity)))
     return;
@@ -594,12 +595,9 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer)
  *
  * @param cls closure
  * @param peer the peer that connected
- * @param ats performance data
- * @param ats_count number of entries in ats (excluding 0-termination)
  */
 static void
-monitor_notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer,
-                const struct GNUNET_ATS_Information *ats, uint32_t ats_count)
+monitor_notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer)
 {
   monitor_connect_counter ++;
   struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get();
@@ -644,13 +642,10 @@ monitor_notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer)
  * @param cls closure
  * @param peer (claimed) identity of the other peer
  * @param message the message
- * @param ats performance data
- * @param ats_count number of entries in ats
  */
 static void
 notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer,
-                const struct GNUNET_MessageHeader *message,
-                const struct GNUNET_ATS_Information *ats, uint32_t ats_count)
+                const struct GNUNET_MessageHeader *message)
 {
   if (benchmark_receive)
   {
@@ -668,6 +663,10 @@ notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer,
 }
 
 
+static void resolve_address (const struct GNUNET_HELLO_Address *address,
+                                                                                                                int numeric);
+
+
 static void
 process_string (void *cls, const char *address)
 {
@@ -685,7 +684,14 @@ process_string (void *cls, const char *address)
     GNUNET_assert (address_resolutions > 0);
     address_resolutions --;
     if (GNUNET_NO == rc->printed)
-      FPRINTF (stdout, _("Peer `%s': %s <unable to resolve address>\n"), GNUNET_i2s (&addrcp->peer), addrcp->transport_name);
+    {
+       if (numeric == GNUNET_NO)
+       {
+               resolve_address (rc->addrcp, GNUNET_YES ); /* Failed to resolve address, try numeric lookup */
+       }
+       else
+       FPRINTF (stdout, _("Peer `%s': %s <unable to resolve address>\n"), GNUNET_i2s (&addrcp->peer), addrcp->transport_name);
+    }
     GNUNET_free (rc->addrcp);
     GNUNET_CONTAINER_DLL_remove (rc_head, rc_tail, rc);
     GNUNET_free (rc);
@@ -705,7 +711,24 @@ process_string (void *cls, const char *address)
         end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
     }
   }
+}
+
+static void resolve_address (const struct GNUNET_HELLO_Address *address,
+                                                                                                                int numeric)
+{
+  struct ResolutionContext *rc;
+
+  rc = GNUNET_malloc(sizeof (struct ResolutionContext));
+  GNUNET_assert (NULL != rc);
+  GNUNET_CONTAINER_DLL_insert (rc_head, rc_tail, rc);
+  address_resolutions ++;
 
+  rc->addrcp = GNUNET_HELLO_address_copy(address);
+  rc->printed = GNUNET_NO;
+  /* Resolve address to string */
+  rc->asc = GNUNET_TRANSPORT_address_to_string (cfg, address, numeric,
+                                      RESOLUTION_TIMEOUT, &process_string,
+                                      rc);
 }
 
 /**
@@ -719,14 +742,14 @@ static void
 process_address (void *cls, const struct GNUNET_PeerIdentity *peer,
                  const struct GNUNET_HELLO_Address *address)
 {
-  const struct GNUNET_CONFIGURATION_Handle *cfg = cls;
-  struct ResolutionContext *rc;
-
   if (peer == NULL)
   {
     /* done */
     address_resolution_in_progress = GNUNET_NO;
     pic = NULL;
+    if (GNUNET_SCHEDULER_NO_TASK != end)
+      GNUNET_SCHEDULER_cancel (end);
+    end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
     return;
   }
   if (address == NULL)
@@ -740,18 +763,9 @@ process_address (void *cls, const struct GNUNET_PeerIdentity *peer,
   op_timeout = GNUNET_SCHEDULER_add_delayed (OP_TIMEOUT,
                                              &operation_timeout, NULL);
 
-  rc = GNUNET_malloc(sizeof (struct ResolutionContext));
-  GNUNET_assert (NULL != rc);
-  GNUNET_CONTAINER_DLL_insert (rc_head, rc_tail, rc);
-  address_resolutions ++;
-
-  rc->addrcp = GNUNET_HELLO_address_copy(address);
-  rc->printed = GNUNET_NO;
-  /* Resolve address to string */
-  rc->asc = GNUNET_TRANSPORT_address_to_string (cfg, address, numeric,
-                                      RESOLUTION_TIMEOUT, &process_string,
-                                      rc);
-
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received address for peer `%s': %s\n",
+               GNUNET_i2s (peer), address->transport_name);
+  resolve_address (address, numeric);
 }
 
 void try_connect_cb (void *cls,
@@ -778,24 +792,32 @@ void try_connect_cb (void *cls,
 }
 
 
+/**
+ * Function called with the result of the check if the 'transport'
+ * service is running.
+ *
+ * @param cls closure with our configuration
+ * @param result GNUNET_YES if transport is running
+ */
 static void
 testservice_task (void *cls,
-                  const struct GNUNET_SCHEDULER_TaskContext *tc)
+                  int result)
 {
-  struct GNUNET_CONFIGURATION_Handle *cfg = cls;
   int counter = 0;
   ret = 1;
 
-  if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_TIMEOUT))
+  if (GNUNET_YES != result)
   {
-      FPRINTF (stderr, _("Service `%s' is not running\n"), "transport");
-      return;
+    FPRINTF (stderr, 
+            _("Service `%s' is not running\n"), "transport");
+    return;
   }
 
-  if ((NULL != cpid) && (GNUNET_OK != GNUNET_CRYPTO_hash_from_string (cpid, &pid.hashPubKey)))
+  if ( (NULL != cpid) && 
+       (GNUNET_OK != GNUNET_CRYPTO_hash_from_string (cpid, &pid.hashPubKey)))
   {
-      FPRINTF (stderr, _("Failed to parse peer identity `%s'\n"), cpid);
-      return;
+    FPRINTF (stderr, _("Failed to parse peer identity `%s'\n"), cpid);
+    return;
   }
 
   counter = benchmark_send + benchmark_receive + iterate_connections +
@@ -945,22 +967,22 @@ testservice_task (void *cls,
  * @param cls closure
  * @param args remaining command-line arguments
  * @param cfgfile name of the configuration file used (for saving, can be NULL!)
- * @param cfg configuration
+ * @param mycfg configuration
  */
 static void
 run (void *cls, char *const *args, const char *cfgfile,
-     const struct GNUNET_CONFIGURATION_Handle *cfg)
+     const struct GNUNET_CONFIGURATION_Handle *mycfg)
 {
-  if (test_configuration)
+       cfg = (struct GNUNET_CONFIGURATION_Handle *) mycfg;
+       if (test_configuration)
   {
     do_test_configuration (cfg);
     return;
   }
-
   GNUNET_CLIENT_service_test ("transport", cfg,
-      GNUNET_TIME_UNIT_SECONDS,
-      &testservice_task,
-      (void *) cfg);
+                             GNUNET_TIME_UNIT_SECONDS,
+                             &testservice_task,
+                             (void *) cfg);
 }