Avoid trying to disconnect a neighbour twice
[oweals/gnunet.git] / src / transport / test_transport_startonly.c
index 36d9b18d3fc9cc181ecdd0b61bb12e9d9a7d00ef..71055321a1c39c63be7ab488170ae9f77e2fa559 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2009, 2010 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009, 2010 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
  * C code apparently.
  */
 #include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_hello_lib.h"
-#include "gnunet_getopt_lib.h"
-#include "gnunet_os_lib.h"
-#include "gnunet_program_lib.h"
-#include "gnunet_scheduler_lib.h"
 #include "gnunet_transport_service.h"
-#include "transport.h"
 #include "transport-testing.h"
 
-#define VERBOSE GNUNET_EXTRA_LOGGING
-
-#define VERBOSE_ARM GNUNET_EXTRA_LOGGING
-
-#define START_ARM GNUNET_YES
-
 /**
  * How long until we give up on transmitting the message?
  */
@@ -50,7 +37,7 @@
 
 #define ITERATIONS 10
 
-GNUNET_SCHEDULER_TaskIdentifier timeout_task;
+struct GNUNET_SCHEDULER_Task * timeout_task;
 
 static struct PeerContext *p1;
 
@@ -67,11 +54,12 @@ end ()
 {
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n");
 
-  if (timeout_task != GNUNET_SCHEDULER_NO_TASK)
+  if (timeout_task != NULL)
   {
     GNUNET_SCHEDULER_cancel (timeout_task);
-    timeout_task = GNUNET_SCHEDULER_NO_TASK;
+    timeout_task = NULL;
   }
+  GNUNET_TRANSPORT_TESTING_done (tth);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Exiting\n");
 }
 
@@ -80,19 +68,19 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n");
 
-  timeout_task = GNUNET_SCHEDULER_NO_TASK;
+  timeout_task = NULL;
   if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
     return;
 
   if (p1 != NULL)
     GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1);
-
+  if (NULL != tth)
+    GNUNET_TRANSPORT_TESTING_done (tth);
   ret = GNUNET_SYSERR;
 }
 
 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)
 {
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer `%s' connected \n",
               GNUNET_i2s (peer));
@@ -108,8 +96,7 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer)
 
 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)
 {
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receiving\n");
 }
@@ -150,8 +137,6 @@ run (void *cls, char *const *args, const char *cfgfile,
       FPRINTF (stderr, "..%i", i);
   }
 
-  tth = GNUNET_TRANSPORT_TESTING_init ();
-
   FPRINTF (stderr, "%s",  "\n");
   end ();
 }
@@ -160,19 +145,13 @@ int
 main (int argc, char *argv[])
 {
   GNUNET_log_setup ("test_transport_testing",
-#if VERBOSE
-                    "DEBUG",
-#else
                     "WARNING",
-#endif
+
                     NULL);
 
   char *const argv_1[] = { "test_transport_testing",
     "-c",
     "test_transport_api_data.conf",
-#if VERBOSE
-    "-L", "DEBUG",
-#endif
     NULL
   };