*/
/**
* @file ats/test_ats_api_common.h
- * @brief shared definitions
+ * @brief shared definitions for ats testcases
* @author Christian Grothoff
* @author Matthias Wachs
*/
-#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30)
+#include "platform.h"
+#include "gnunet_ats_service.h"
+#include "gnunet-service-ats_addresses.h"
-#define PEERID "2AK99KD8RM9UA9LC3QKA0IQ5UBFC0FBB50EBGCFQT8448DGGACNAC4CJQDD1CPFS494O41U88DJD1FLIG8VA5CQR9IN4L96GP104MVO"
+#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30)
struct Test_Address
{
struct GNUNET_PeerIdentity id;
struct Test_Address *addr;
+
+ unsigned long long bw_out_assigned;
+
+ unsigned long long bw_in_assigned;
};
+void
+free_test_address (struct Test_Address *dest);
+
+void
+create_test_address (struct Test_Address *dest, char * plugin, void *session, void *addr, size_t addrlen);
+
+int
+compare_addresses (const struct GNUNET_HELLO_Address *address1, void *session1,
+ const struct GNUNET_HELLO_Address *address2, void *session2);
+
+int
+compare_ats (const struct GNUNET_ATS_Information *ats_is, uint32_t ats_count_is,
+ const struct GNUNET_ATS_Information *ats_should, uint32_t ats_count_should);
+
+struct ATS_Address *
+create_address (const struct GNUNET_PeerIdentity *peer,
+ const char *plugin_name,
+ const void *plugin_addr, size_t plugin_addr_len,
+ uint32_t session_id);
+
+/**
+ * Load quotas for networks from configuration
+ *
+ * @param cfg configuration handle
+ * @param out_dest where to write outbound quotas
+ * @param in_dest where to write inbound quotas
+ * @param dest_length length of inbound and outbound arrays
+ * @return number of networks loaded
+ */
+unsigned int
+load_quotas (const struct GNUNET_CONFIGURATION_Handle *cfg,
+ unsigned long long *out_dest,
+ unsigned long long *in_dest,
+ int dest_length);
+
/* end of file test_ats_api_common.h */