REST: nothing triggers rest
[oweals/gnunet.git] / src / ats / test_ats_lib.h
index 590aac75072bb8a891969138166b6cf9cbd257dc..cc9f8ec73bda9ef3f0a7db9eba69eec9f1db2557 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.h
@@ -111,9 +111,18 @@ enum CommandCode
    * Obtain list of all addresses, testing
    * #GNUNET_ATS_performance_list_addresses().
    */
-  CMD_LIST_ADDRESSES
+  CMD_LIST_ADDRESSES,
 
-  /* TODO: reserve bandwidth */
+  /**
+   * Reserve bandwidth, testing
+   * #GNUNET_ATS_reserve_bandwidth().
+   */
+  CMD_RESERVE_BANDWIDTH,
+
+  /**
+   * Wait for a bit.
+   */
+  CMD_SLEEP
 
 };
 
@@ -398,6 +407,50 @@ struct CommandListAddresses
 };
 
 
+/**
+ * Details for the #CMD_RESERVE_BANDWIDTH command.
+ */
+struct CommandReserveBandwidth
+{
+  /**
+   * For which peer do we reserve bandwidth?
+   */
+  unsigned int pid;
+
+  /**
+   * How much should we try to reserve?
+   */
+  int32_t amount;
+
+  /**
+   * Should we expect this to work or fail?
+   * #GNUNET_YES: must work
+   * #GNUNET_NO: may work or fail
+   * #GNUNET_SYSERR: must fail
+   */
+  int expected_result;
+
+  /**
+   * Location where we store the return value from
+   * #GNUNET_ATS_reserve_bandwidth().
+   */
+  struct GNUNET_ATS_ReservationContext *rc;
+
+};
+
+
+/**
+ * Details for the #CMD_SLEEP command.
+ */
+struct CommandSleep
+{
+  /**
+   * How long should we wait before running the next command?
+   */
+  struct GNUNET_TIME_Relative delay;
+};
+
+
 /**
  * A command for the test case interpreter.
  */
@@ -444,6 +497,10 @@ struct Command
 
     struct CommandListAddresses list_addresses;
 
+    struct CommandReserveBandwidth reserve_bandwidth;
+
+    struct CommandSleep sleep;
+
   } details;
 
 };