Copyright years
[oweals/gnunet.git] / src / util / test_connection_receive_cancel.c
index aa1340e0230511cda94a63f385b53751f2b3c302..73a041bdf3bc750aa7171819fdf05621db58433e 100644 (file)
@@ -1,10 +1,10 @@
 /*
      This file is part of GNUnet.
 /*
      This file is part of GNUnet.
-     (C) 2009 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 /**
  * @file util/test_connection_receive_cancel.c
  * @brief tests for connection.c
  */
 #include "platform.h"
 */
 /**
  * @file util/test_connection_receive_cancel.c
  * @brief tests for connection.c
  */
 #include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_connection_lib.h"
-#include "gnunet_scheduler_lib.h"
-#include "gnunet_time_lib.h"
-
-#define VERBOSE GNUNET_NO
+#include "gnunet_util_lib.h"
 
 #define PORT 12435
 
 
 #define PORT 12435
 
@@ -40,9 +35,7 @@ static struct GNUNET_CONNECTION_Handle *lsock;
 
 static struct GNUNET_NETWORK_Handle *ls;
 
 
 static struct GNUNET_NETWORK_Handle *ls;
 
-static GNUNET_SCHEDULER_TaskIdentifier receive_task;
-
-
+static struct GNUNET_CONFIGURATION_Handle *cfg;
 
 
 /**
 
 
 /**
@@ -58,15 +51,19 @@ open_listen_socket ()
   struct GNUNET_NETWORK_Handle *desc;
 
   memset (&sa, 0, sizeof (sa));
   struct GNUNET_NETWORK_Handle *desc;
 
   memset (&sa, 0, sizeof (sa));
+#if HAVE_SOCKADDR_IN_SIN_LEN
+  sa.sin_len = sizeof (sa);
+#endif
+  sa.sin_family = AF_INET;
   sa.sin_port = htons (PORT);
   sa.sin_port = htons (PORT);
-  desc = GNUNET_NETWORK_socket_socket (AF_INET, SOCK_STREAM, 0);
+  desc = GNUNET_NETWORK_socket_create (AF_INET, SOCK_STREAM, 0);
   GNUNET_assert (desc != NULL);
   GNUNET_assert (desc != NULL);
-  if (GNUNET_NETWORK_socket_setsockopt (desc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) < 0)
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
-                "setsockopt");
-  GNUNET_assert (GNUNET_NETWORK_socket_bind (desc,
-                                            (const struct sockaddr*) &sa,
-                                            sizeof (sa)) >= 0);
+  if (GNUNET_NETWORK_socket_setsockopt
+      (desc, SOL_SOCKET, SO_REUSEADDR, &on, sizeof (on)) != GNUNET_OK)
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, "setsockopt");
+  GNUNET_assert (GNUNET_OK ==
+                GNUNET_NETWORK_socket_bind (desc, (const struct sockaddr *) &sa,
+                                            sizeof (sa)));
   GNUNET_NETWORK_socket_listen (desc, 5);
   return desc;
 }
   GNUNET_NETWORK_socket_listen (desc, 5);
   return desc;
 }
@@ -74,9 +71,7 @@ open_listen_socket ()
 
 
 static void
 
 
 static void
-dead_receive (void *cls,
-              const void *buf,
-              size_t available,
+dead_receive (void *cls, const void *buf, size_t available,
               const struct sockaddr *addr, socklen_t addrlen, int errCode)
 {
   GNUNET_assert (0);
               const struct sockaddr *addr, socklen_t addrlen, int errCode)
 {
   GNUNET_assert (0);
@@ -86,18 +81,13 @@ dead_receive (void *cls,
 static void
 run_accept_cancel (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
 static void
 run_accept_cancel (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
-
-  asock = GNUNET_CONNECTION_create_from_accept (tc->sched,
-                                                    NULL, NULL, ls, 1024);
+  asock = GNUNET_CONNECTION_create_from_accept (NULL, NULL, ls);
   GNUNET_assert (asock != NULL);
   GNUNET_assert (GNUNET_YES == GNUNET_CONNECTION_check (asock));
   GNUNET_CONNECTION_destroy (lsock);
   GNUNET_assert (asock != NULL);
   GNUNET_assert (GNUNET_YES == GNUNET_CONNECTION_check (asock));
   GNUNET_CONNECTION_destroy (lsock);
-  receive_task
-    = GNUNET_CONNECTION_receive (asock,
-                              1024,
-                              GNUNET_TIME_relative_multiply
-                              (GNUNET_TIME_UNIT_SECONDS, 5), &dead_receive,
-                              cls);
+  GNUNET_CONNECTION_receive (asock, 1024,
+                             GNUNET_TIME_relative_multiply
+                             (GNUNET_TIME_UNIT_SECONDS, 5), &dead_receive, cls);
 }
 
 
 }
 
 
@@ -105,7 +95,8 @@ static void
 receive_cancel_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   int *ok = cls;
 receive_cancel_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   int *ok = cls;
-  GNUNET_CONNECTION_receive_cancel (asock, receive_task);
+
+  GNUNET_CONNECTION_receive_cancel (asock);
   GNUNET_CONNECTION_destroy (csock);
   GNUNET_CONNECTION_destroy (asock);
   *ok = 0;
   GNUNET_CONNECTION_destroy (csock);
   GNUNET_CONNECTION_destroy (asock);
   *ok = 0;
@@ -117,23 +108,14 @@ static void
 task_receive_cancel (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   ls = open_listen_socket ();
 task_receive_cancel (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   ls = open_listen_socket ();
-  lsock = GNUNET_CONNECTION_create_from_existing (tc->sched, ls, 0);
+  lsock = GNUNET_CONNECTION_create_from_existing (ls);
   GNUNET_assert (lsock != NULL);
   GNUNET_assert (lsock != NULL);
-  csock = GNUNET_CONNECTION_create_from_connect (tc->sched,
-                                                     "localhost", PORT, 1024);
+  csock = GNUNET_CONNECTION_create_from_connect (cfg, "localhost", PORT);
   GNUNET_assert (csock != NULL);
   GNUNET_assert (csock != NULL);
-  GNUNET_SCHEDULER_add_read_net (tc->sched,
-                             GNUNET_NO,
-                             GNUNET_SCHEDULER_PRIORITY_HIGH,
-                             GNUNET_SCHEDULER_NO_TASK,
-                             GNUNET_TIME_UNIT_FOREVER_REL,
-                             ls, &run_accept_cancel, cls);
-  GNUNET_SCHEDULER_add_delayed (tc->sched,
-                                GNUNET_NO,
-                                GNUNET_SCHEDULER_PRIORITY_KEEP,
-                                GNUNET_SCHEDULER_NO_TASK,
-                                GNUNET_TIME_UNIT_SECONDS,
-                                &receive_cancel_task, cls);
+  GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, ls,
+                                 &run_accept_cancel, cls);
+  GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &receive_cancel_task,
+                                cls);
 }
 
 
 }
 
 
@@ -147,7 +129,11 @@ check_receive_cancel ()
   int ok;
 
   ok = 1;
   int ok;
 
   ok = 1;
+  cfg = GNUNET_CONFIGURATION_create ();
+  GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME",
+                                         "localhost");
   GNUNET_SCHEDULER_run (&task_receive_cancel, &ok);
   GNUNET_SCHEDULER_run (&task_receive_cancel, &ok);
+  GNUNET_CONFIGURATION_destroy (cfg);
   return ok;
 }
 
   return ok;
 }