static struct GNUNET_SET_ListenHandle *listen_handle;
const static struct GNUNET_CONFIGURATION_Handle *config;
-int num_done;
+static int iter_count;
static void
{
struct GNUNET_SET_Element element;
-
GNUNET_log (GNUNET_ERROR_TYPE_INFO, "initializing set 2\n");
+ element.type = 0;
+
element.data = "hello";
element.size = strlen(element.data);
GNUNET_SET_add_element (set2, &element, NULL, NULL);
element.data = "quux";
element.size = strlen(element.data);
+ GNUNET_SET_add_element (set2, &element, NULL, NULL);
+ element.data = "baz";
+ element.size = strlen(element.data);
GNUNET_SET_add_element (set2, &element, start, NULL);
}
{
struct GNUNET_SET_Element element;
+ element.type = 0;
+
element.data = "hello";
element.size = strlen(element.data);
GNUNET_SET_add_element (set1, &element, NULL, NULL);
}
+static int
+iter_cb (void *cls,
+ const struct GNUNET_SET_Element *element)
+{
+ if (NULL == element)
+ {
+ GNUNET_assert (iter_count == 3);
+ GNUNET_SET_destroy (cls);
+ return GNUNET_YES;
+ }
+ printf ("iter: got element\n");
+ iter_count++;
+ return GNUNET_YES;
+}
+
+
+static void
+test_iter ()
+{
+ struct GNUNET_SET_Element element;
+ struct GNUNET_SET_Handle *iter_set;
+
+ iter_set = GNUNET_SET_create (config, GNUNET_SET_OPERATION_UNION);
+
+ element.type = 0;
+
+ element.data = "hello";
+ element.size = strlen(element.data);
+ GNUNET_SET_add_element (iter_set, &element, NULL, NULL);
+ element.data = "bar";
+ element.size = strlen(element.data);
+ GNUNET_SET_add_element (iter_set, &element, NULL, NULL);
+ element.data = "quux";
+ element.size = strlen(element.data);
+ GNUNET_SET_add_element (iter_set, &element, NULL, NULL);
+
+ GNUNET_SET_iterate (iter_set, iter_cb, iter_set);
+}
+
+
/**
* Signature of the 'main' function for a (single-peer) testcase that
* is run using 'GNUNET_TESTING_peer_run'.
- *
+ *
* @param cls closure
* @param cfg configuration of the peer that was started
* @param peer identity of the peer that was created
struct GNUNET_SET_OperationHandle *my_oh;
config = cfg;
- GNUNET_CRYPTO_get_host_identity (cfg, &local_id);
- printf ("my id (from CRYPTO): %s\n", GNUNET_h2s (&local_id.hashPubKey));
+ GNUNET_CRYPTO_get_peer_identity (cfg, &local_id);
+ printf ("my id (from CRYPTO): %s\n", GNUNET_i2s (&local_id));
GNUNET_TESTING_peer_get_identity (peer, &local_id);
- printf ("my id (from TESTING): %s\n", GNUNET_h2s (&local_id.hashPubKey));
+ printf ("my id (from TESTING): %s\n", GNUNET_i2s (&local_id));
+
+ test_iter ();
+
set1 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION);
set2 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION);
GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &app_id);