stuff
[oweals/gnunet.git] / src / util / test_server.c
index 0f2ea3ce79b34c9a2a72cfd170149050d6229d83..5d714d6f92d72c941c9a2b0ba30c5610175f9b6c 100644 (file)
@@ -51,7 +51,7 @@ recv_fin_cb (void *cls,
 
 struct SignalTimeoutContext
 {
-  GNUNET_NETWORK_Receiver cb;
+  GNUNET_CONNECTION_Receiver cb;
   void *cb_cls;
 };
 
@@ -66,11 +66,14 @@ signal_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 }
 
 
-static GNUNET_SCHEDULER_TaskIdentifier
+static GNUNET_SCHEDULER_TaskIdentifier ti;
+
+
+static void
 my_receive (void *cls,
             size_t max,
             struct GNUNET_TIME_Relative timeout,
-            GNUNET_NETWORK_Receiver receiver, void *receiver_cls)
+            GNUNET_CONNECTION_Receiver receiver, void *receiver_cls)
 {
   int *ok = cls;
   struct GNUNET_MessageHeader msg;
@@ -84,7 +87,8 @@ my_receive (void *cls,
       *ok = 2;                  /* report success */
       msg.type = htons (MY_TYPE2);
       msg.size = htons (sizeof (struct GNUNET_MessageHeader));
-      receiver (receiver_cls, &msg, sizeof (struct GNUNET_MessageHeader), NULL, 0, 0);
+      receiver (receiver_cls, &msg, sizeof (struct GNUNET_MessageHeader),
+                NULL, 0, 0);
       break;
     case 3:
       /* called after first receive instantly
@@ -96,20 +100,17 @@ my_receive (void *cls,
       stctx->cb = receiver;
       stctx->cb_cls = receiver_cls;
       ret = GNUNET_SCHEDULER_add_delayed (sched,
-                                          GNUNET_NO,
-                                          GNUNET_SCHEDULER_PRIORITY_KEEP,
-                                          GNUNET_SCHEDULER_NO_TASK,
                                           timeout, &signal_timeout, stctx);
       break;
     default:
       GNUNET_assert (0);
     }
-  return ret;
+  ti = ret;
 }
 
 
 static void
-my_cancel (void *cls, GNUNET_SCHEDULER_TaskIdentifier ti)
+my_cancel (void *cls)
 {
   GNUNET_SCHEDULER_cancel (sched, ti);
 }
@@ -118,7 +119,7 @@ static void *
 my_transmit_ready_cb (void *cls,
                       size_t size,
                       struct GNUNET_TIME_Relative timeout,
-                      GNUNET_NETWORK_TransmitReadyNotify notify,
+                      GNUNET_CONNECTION_TransmitReadyNotify notify,
                       void *notify_cls)
 {
   static int non_null_addr;
@@ -151,7 +152,7 @@ my_check (void *cls)
 }
 
 
-static void my_destroy (void *cls);
+static void my_destroy (void *cls, int persist);
 
 
 struct CopyContext
@@ -216,7 +217,7 @@ static struct GNUNET_SERVER_MessageHandler handlers[] = {
 
 
 static void
-my_destroy (void *cls)
+my_destroy (void *cls, int persist)
 {
   int *ok = cls;
   GNUNET_assert (5 == *ok);
@@ -231,16 +232,25 @@ task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct sockaddr_in sa;
   struct GNUNET_MessageHeader msg;
+  struct sockaddr * sap[2];
+  socklen_t slens[2];
 
+  sap[0] = (struct sockaddr*) &sa;
+  slens[0] = sizeof (sa);
+  sap[1] = NULL;
+  slens[1] = 0;
   sched = tc->sched;
   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);
   server = GNUNET_SERVER_create (tc->sched,
                                  NULL,
                                  NULL,
-                                 (const struct sockaddr *) &sa,
-                                 sizeof (sa),
+                                 sap,
+                                slens,
                                  1024,
                                  GNUNET_TIME_relative_multiply
                                  (GNUNET_TIME_UNIT_MILLISECONDS, 250),