diff options
author | Florian Dold <florian.dold@gmail.com> | 2013-08-12 18:00:43 +0000 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2013-08-12 18:00:43 +0000 |
commit | 566dfe32be22ed1f071b974be3c4dd8bc5721151 (patch) | |
tree | dc4e89e80aab53e1cb69604c2960eaaf5043bb17 /src/set/test_set_api.c | |
parent | d734cfd6677de174aa51a07437b0e0cae4c870be (diff) | |
download | gnunet-566dfe32be22ed1f071b974be3c4dd8bc5721151.tar.gz gnunet-566dfe32be22ed1f071b974be3c4dd8bc5721151.zip |
- correct iteraion in multihashmap
- iterate over elements with client ack in set
Diffstat (limited to 'src/set/test_set_api.c')
-rw-r--r-- | src/set/test_set_api.c | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/src/set/test_set_api.c b/src/set/test_set_api.c index 59c79ee38..6085c59f3 100644 --- a/src/set/test_set_api.c +++ b/src/set/test_set_api.c | |||
@@ -36,7 +36,7 @@ static struct GNUNET_SET_Handle *set2; | |||
36 | static struct GNUNET_SET_ListenHandle *listen_handle; | 36 | static struct GNUNET_SET_ListenHandle *listen_handle; |
37 | const static struct GNUNET_CONFIGURATION_Handle *config; | 37 | const static struct GNUNET_CONFIGURATION_Handle *config; |
38 | 38 | ||
39 | int num_done; | 39 | static int iter_count; |
40 | 40 | ||
41 | 41 | ||
42 | static void | 42 | static void |
@@ -144,6 +144,9 @@ init_set2 (void *cls) | |||
144 | GNUNET_SET_add_element (set2, &element, NULL, NULL); | 144 | GNUNET_SET_add_element (set2, &element, NULL, NULL); |
145 | element.data = "quux"; | 145 | element.data = "quux"; |
146 | element.size = strlen(element.data); | 146 | element.size = strlen(element.data); |
147 | GNUNET_SET_add_element (set2, &element, NULL, NULL); | ||
148 | element.data = "baz"; | ||
149 | element.size = strlen(element.data); | ||
147 | GNUNET_SET_add_element (set2, &element, start, NULL); | 150 | GNUNET_SET_add_element (set2, &element, start, NULL); |
148 | } | 151 | } |
149 | 152 | ||
@@ -167,6 +170,44 @@ init_set1 (void) | |||
167 | } | 170 | } |
168 | 171 | ||
169 | 172 | ||
173 | static int | ||
174 | iter_cb (void *cls, | ||
175 | const struct GNUNET_SET_Element *element) | ||
176 | { | ||
177 | if (NULL == element) | ||
178 | { | ||
179 | GNUNET_assert (iter_count == 3); | ||
180 | GNUNET_SET_destroy (cls); | ||
181 | return GNUNET_YES; | ||
182 | } | ||
183 | printf ("iter: got element\n"); | ||
184 | iter_count++; | ||
185 | return GNUNET_YES; | ||
186 | } | ||
187 | |||
188 | |||
189 | static void | ||
190 | test_iter () | ||
191 | { | ||
192 | struct GNUNET_SET_Element element; | ||
193 | struct GNUNET_SET_Handle *iter_set; | ||
194 | |||
195 | iter_set = GNUNET_SET_create (config, GNUNET_SET_OPERATION_UNION); | ||
196 | |||
197 | element.data = "hello"; | ||
198 | element.size = strlen(element.data); | ||
199 | GNUNET_SET_add_element (iter_set, &element, NULL, NULL); | ||
200 | element.data = "bar"; | ||
201 | element.size = strlen(element.data); | ||
202 | GNUNET_SET_add_element (iter_set, &element, NULL, NULL); | ||
203 | element.data = "quux"; | ||
204 | element.size = strlen(element.data); | ||
205 | GNUNET_SET_add_element (iter_set, &element, NULL, NULL); | ||
206 | |||
207 | GNUNET_SET_iterate (iter_set, iter_cb, iter_set); | ||
208 | } | ||
209 | |||
210 | |||
170 | /** | 211 | /** |
171 | * Signature of the 'main' function for a (single-peer) testcase that | 212 | * Signature of the 'main' function for a (single-peer) testcase that |
172 | * is run using 'GNUNET_TESTING_peer_run'. | 213 | * is run using 'GNUNET_TESTING_peer_run'. |
@@ -188,6 +229,10 @@ run (void *cls, | |||
188 | printf ("my id (from CRYPTO): %s\n", GNUNET_h2s (&local_id.hashPubKey)); | 229 | printf ("my id (from CRYPTO): %s\n", GNUNET_h2s (&local_id.hashPubKey)); |
189 | GNUNET_TESTING_peer_get_identity (peer, &local_id); | 230 | GNUNET_TESTING_peer_get_identity (peer, &local_id); |
190 | printf ("my id (from TESTING): %s\n", GNUNET_h2s (&local_id.hashPubKey)); | 231 | printf ("my id (from TESTING): %s\n", GNUNET_h2s (&local_id.hashPubKey)); |
232 | |||
233 | test_iter (); | ||
234 | |||
235 | return; | ||
191 | set1 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); | 236 | set1 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); |
192 | set2 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); | 237 | set2 = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); |
193 | GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &app_id); | 238 | GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &app_id); |