REST: nothing triggers rest
[oweals/gnunet.git] / src / ats / test_ats_lib.c
index e7cca2a7185aa754764cb6e6d3528f6b9610bc1b..33597e6787a9b98f8bd051bc21d3446d37bb9090 100644 (file)
@@ -1,21 +1,21 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2010-2015 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2010-2015 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
-     by the Free Software Foundation; either version 3, or (at your
-     option) any later version.
+     GNUnet is free software: you can redistribute it and/or modify it
+     under the terms of the GNU Affero General Public License as published
+     by the Free Software Foundation, either version 3 of the License,
+     or (at your option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-     General Public License for more details.
+     Affero General Public License for more details.
+    
+     You should have received a copy of the GNU Affero General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-     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.
+     SPDX-License-Identifier: AGPL3.0-or-later
 */
 /**
  * @file ats/test_ats_lib.c
@@ -36,7 +36,7 @@ struct AddressSuggestData
   /**
    * Which session were we given?
    */
-  struct Session *session;
+  struct GNUNET_ATS_Session *session;
 
   /**
    * What address was assigned?
@@ -279,11 +279,9 @@ find_address_information (const struct GNUNET_HELLO_Address *addr)
  * Task run to terminate the testcase.
  *
  * @param cls NULL
- * @param tc unused
  */
 static void
-end (void *cls,
-     const struct GNUNET_SCHEDULER_TaskContext *tc)
+end (void *cls)
 {
   if (0 != ret)
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -335,11 +333,9 @@ end (void *cls,
  * Main interpreter loop. Runs the steps of the test.
  *
  * @param cls NULL
- * @param tc unused
  */
 static void
-interpreter (void *cls,
-             const struct GNUNET_SCHEDULER_TaskContext *tc);
+interpreter (void *cls);
 
 
 /**
@@ -368,7 +364,7 @@ make_peer (uint32_t pid,
   memset (pk,
           (int) pid,
           sizeof (struct GNUNET_PeerIdentity));
-  memcpy (pk,
+  GNUNET_memcpy (pk,
           &pid,
           sizeof (uint32_t));
 }
@@ -404,10 +400,10 @@ make_address (uint32_t pid,
 /**
  * Our dummy sessions.
  */
-struct Session
+struct GNUNET_ATS_Session
 {
   /**
-   * Field to avoid `0 == sizeof(struct Session)`.
+   * Field to avoid `0 == sizeof(struct GNUNET_ATS_Session)`.
    */
   unsigned int non_empty;
 };
@@ -419,10 +415,10 @@ struct Session
  * @param i which session number to return
  * @return NULL if @a i is 0, otherwise a pointer unique to @a i
  */
-static struct Session *
+static struct GNUNET_ATS_Session *
 make_session (unsigned int i)
 {
-  struct Session *baseptr = NULL;
+  struct GNUNET_ATS_Session *baseptr = NULL;
 
   if (0 == i)
     return NULL;
@@ -544,9 +540,8 @@ reservation_cb (void *cls,
   cmd->details.reserve_bandwidth.rc = NULL;
   make_peer (cmd->details.reserve_bandwidth.pid,
              &pid);
-  GNUNET_assert (0 == memcmp (peer,
-                              &pid,
-                              sizeof (struct GNUNET_PeerIdentity)));
+  GNUNET_assert (0 == GNUNET_memcmp (peer,
+                              &pid));
   switch (cmd->details.reserve_bandwidth.expected_result)
   {
   case GNUNET_OK:
@@ -591,11 +586,9 @@ reservation_cb (void *cls,
  * Main interpreter loop. Runs the steps of the test.
  *
  * @param cls NULL
- * @param tc unused
  */
 static void
-interpreter (void *cls,
-             const struct GNUNET_SCHEDULER_TaskContext *tc)
+interpreter (void *cls)
 
 {
   struct Command *cmd;
@@ -618,7 +611,7 @@ interpreter (void *cls,
     case CMD_ADD_ADDRESS:
       {
         struct GNUNET_HELLO_Address *addr;
-        struct Session *session;
+        struct GNUNET_ATS_Session *session;
 
         addr = make_address (cmd->details.add_address.pid,
                              cmd->details.add_address.addr_num,
@@ -671,7 +664,7 @@ interpreter (void *cls,
         if (NULL == asd)
           return;
         if (GNUNET_NO == asd->active)
-          return;
+          return; /* last suggestion was to disconnect, wait longer */
         done = GNUNET_YES;
         if (NULL != cmd->details.await_address_suggestion.add_label)
         {
@@ -703,9 +696,10 @@ interpreter (void *cls,
                    &pid);
         asd = find_address_suggestion (&pid);
         if (NULL == asd)
-          return;
-        if (GNUNET_NO == asd->active)
-          return;
+          return; /* odd, no suggestion at all yet!? */
+        if (GNUNET_YES == asd->active)
+          return; /* last suggestion was to activate, wait longer */
+        /* last suggestion was to deactivate, condition satisfied! */
         off++;
         break;
       }
@@ -717,7 +711,8 @@ interpreter (void *cls,
                    &pid);
         cmd->details.request_connection_start.csh
           = GNUNET_ATS_connectivity_suggest (con_ats,
-                                             &pid);
+                                             &pid,
+                                             1);
         off++;
         break;
       }
@@ -754,9 +749,11 @@ interpreter (void *cls,
         else
           cmp = &update->details.update_address.properties;
         if ( (NULL != aid) &&
-             (0 == memcmp (cmp,
-                           &aid->properties,
-                           sizeof (struct GNUNET_ATS_Properties))) )
+             (cmp->delay.rel_value_us == aid->properties.delay.rel_value_us) &&
+             (cmp->utilization_out == aid->properties.utilization_out) &&
+             (cmp->utilization_in == aid->properties.utilization_in) &&
+             (cmp->distance == aid->properties.distance) &&
+             (cmp->scope == aid->properties.scope) )
         {
           off++;
           break;
@@ -778,7 +775,7 @@ interpreter (void *cls,
     case CMD_ADD_SESSION:
       {
         struct Command *add;
-        struct Session *session;
+        struct GNUNET_ATS_Session *session;
 
         add = find_command (CMD_ADD_ADDRESS,
                             cmd->details.add_session.add_label);
@@ -793,7 +790,7 @@ interpreter (void *cls,
       {
         struct Command *add_address;
         struct Command *add_session;
-        struct Session *session;
+        struct GNUNET_ATS_Session *session;
 
         add_session = find_command (CMD_ADD_SESSION,
                                     cmd->details.del_session.add_session_label);
@@ -888,7 +885,7 @@ static void
 address_suggest_cb (void *cls,
                     const struct GNUNET_PeerIdentity *peer,
                     const struct GNUNET_HELLO_Address *address,
-                    struct Session *session,
+                    struct GNUNET_ATS_Session *session,
                     struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out,
                     struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in)
 {