aboutsummaryrefslogtreecommitdiff
path: root/src/setu/test_setu_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/setu/test_setu_api.c')
-rw-r--r--src/setu/test_setu_api.c52
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
211unsigned 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
226static void
227initRandomSets(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