guix-env: some update.
[oweals/gnunet.git] / src / ats / test_ats_lib.h
index 590aac75072bb8a891969138166b6cf9cbd257dc..1c3928df89da37141d240d3232ad56412f0d7958 100644 (file)
@@ -1,6 +1,6 @@
 /*
      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
@@ -14,8 +14,8 @@
 
      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 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;
 
 };