diff options
-rw-r--r-- | src/setu/test_setu_api.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/setu/test_setu_api.c b/src/setu/test_setu_api.c index 95119873c..c2f913bd9 100644 --- a/src/setu/test_setu_api.c +++ b/src/setu/test_setu_api.c | |||
@@ -204,6 +204,57 @@ init_set2 (void *cls) | |||
204 | GNUNET_SETU_add_element (set2, &element, &start, NULL); | 204 | GNUNET_SETU_add_element (set2, &element, &start, NULL); |
205 | } | 205 | } |
206 | 206 | ||
207 | /** | ||
208 | * Generate random byte stream | ||
209 | */ | ||
210 | |||
211 | unsigned char *gen_rdm_bytestream (size_t num_bytes) | ||
212 | { | ||
213 | unsigned char *stream = malloc (num_bytes); | ||
214 | size_t i; | ||
215 | for (i = 0; i < num_bytes; i++) | ||
216 | { | ||
217 | stream[i] = rand (); | ||
218 | } | ||
219 | return stream; | ||
220 | } | ||
221 | |||
222 | /** | ||
223 | * Generate random sets | ||
224 | */ | ||
225 | |||
226 | static void | ||
227 | initRandomSets(int overlap, int set1_size, int set2_size, int element_size_in_bytes) | ||
228 | { | ||
229 | struct GNUNET_SETU_Element element; | ||
230 | element.element_type = 0; | ||
231 | |||
232 | // Add elements to both sets | ||
233 | for (int i = 0; i < overlap; i++) { | ||
234 | element.data = gen_rdm_bytestream(element_size_in_bytes); | ||
235 | element.size = strlen (element.data); | ||
236 | GNUNET_SETU_add_element (set1, &element, NULL, NULL); | ||
237 | GNUNET_SETU_add_element (set2, &element, NULL, NULL); | ||
238 | set1_size--; | ||
239 | set2_size--; | ||
240 | } | ||
241 | |||
242 | // Add other elements to set 1 | ||
243 | while(set1_size>0) { | ||
244 | element.data = gen_rdm_bytestream(element_size_in_bytes); | ||
245 | element.size = strlen (element.data); | ||
246 | GNUNET_SETU_add_element (set1, &element, NULL, NULL); | ||
247 | set1_size--; | ||
248 | } | ||
249 | |||
250 | // Add other elements to set 2 | ||
251 | while(set2_size > 0) { | ||
252 | element.data = gen_rdm_bytestream(element_size_in_bytes); | ||
253 | element.size = strlen (element.data); | ||
254 | GNUNET_SETU_add_element (set1, &element, NULL, NULL); | ||
255 | set2_size--; | ||
256 | } | ||
257 | } | ||
207 | 258 | ||
208 | /** | 259 | /** |
209 | * Initialize the first set, continue. | 260 | * Initialize the first set, continue. |
@@ -337,6 +388,7 @@ run (void *cls, | |||
337 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 388 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
338 | "Running real set-reconciliation\n"); | 389 | "Running real set-reconciliation\n"); |
339 | init_set1 (); | 390 | init_set1 (); |
391 | //initRandomSets(3,10,10,10); | ||
340 | } | 392 | } |
341 | 393 | ||
342 | 394 | ||