/*
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
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
* 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
};
};
+/**
+ * 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.
*/
struct CommandListAddresses list_addresses;
+ struct CommandReserveBandwidth reserve_bandwidth;
+
+ struct CommandSleep sleep;
+
} details;
};