aboutsummaryrefslogtreecommitdiff
path: root/src/transport/test_communicator_basic.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/test_communicator_basic.c')
-rw-r--r--src/transport/test_communicator_basic.c56
1 files changed, 24 insertions, 32 deletions
diff --git a/src/transport/test_communicator_basic.c b/src/transport/test_communicator_basic.c
index c469a55a1..e99db7cfb 100644
--- a/src/transport/test_communicator_basic.c
+++ b/src/transport/test_communicator_basic.c
@@ -43,8 +43,6 @@
43 43
44static struct GNUNET_SCHEDULER_Task *to_task; 44static struct GNUNET_SCHEDULER_Task *to_task;
45 45
46static struct GNUNET_SCHEDULER_Task *active_task;
47
48static int queue_est = GNUNET_NO; 46static int queue_est = GNUNET_NO;
49 47
50static struct GNUNET_PeerIdentity peer_id[NUM_PEERS]; 48static struct GNUNET_PeerIdentity peer_id[NUM_PEERS];
@@ -233,21 +231,21 @@ size_test (void *cls)
233{ 231{
234 char *payload; 232 char *payload;
235 233
236 active_task = NULL;
237 GNUNET_assert (TP_SIZE_CHECK == phase); 234 GNUNET_assert (TP_SIZE_CHECK == phase);
238 if (ack >= 64000) 235 if (ack >= 64000)
239 return; /* Leave some room for our protocol, so not 2^16 exactly */ 236 return; /* Leave some room for our protocol, so not 2^16 exactly */
240 payload = make_payload (ack); 237 payload = make_payload (ack);
238 ack += 5;
239 num_sent++;
241 GNUNET_TRANSPORT_TESTING_transport_communicator_send (my_tc, 240 GNUNET_TRANSPORT_TESTING_transport_communicator_send (my_tc,
241 (ack < 64000)
242 ? &size_test
243 : NULL,
244 NULL,
242 payload, 245 payload,
243 ack); 246 ack);
244 GNUNET_free (payload); 247 GNUNET_free (payload);
245 ack += 5;
246 num_sent++;
247 timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); 248 timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS);
248 if (ack < 64000)
249 active_task = GNUNET_SCHEDULER_add_now (&size_test,
250 NULL);
251} 249}
252 250
253 251
@@ -256,18 +254,18 @@ long_test (void *cls)
256{ 254{
257 char *payload; 255 char *payload;
258 256
259 active_task = NULL;
260 payload = make_payload (LONG_MESSAGE_SIZE); 257 payload = make_payload (LONG_MESSAGE_SIZE);
258 num_sent++;
261 GNUNET_TRANSPORT_TESTING_transport_communicator_send (my_tc, 259 GNUNET_TRANSPORT_TESTING_transport_communicator_send (my_tc,
260 (BURST_PACKETS ==
261 num_sent)
262 ? NULL
263 : &long_test,
264 NULL,
262 payload, 265 payload,
263 LONG_MESSAGE_SIZE); 266 LONG_MESSAGE_SIZE);
264 num_sent++;
265 GNUNET_free (payload); 267 GNUNET_free (payload);
266 timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); 268 timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS);
267 if (num_sent == BURST_PACKETS)
268 return;
269 active_task = GNUNET_SCHEDULER_add_now (&long_test,
270 NULL);
271} 269}
272 270
273 271
@@ -276,18 +274,18 @@ short_test (void *cls)
276{ 274{
277 char *payload; 275 char *payload;
278 276
279 active_task = NULL;
280 payload = make_payload (SHORT_MESSAGE_SIZE); 277 payload = make_payload (SHORT_MESSAGE_SIZE);
278 num_sent++;
281 GNUNET_TRANSPORT_TESTING_transport_communicator_send (my_tc, 279 GNUNET_TRANSPORT_TESTING_transport_communicator_send (my_tc,
280 (BURST_PACKETS ==
281 num_sent)
282 ? NULL
283 : &short_test,
284 NULL,
282 payload, 285 payload,
283 SHORT_MESSAGE_SIZE); 286 SHORT_MESSAGE_SIZE);
284 num_sent++;
285 GNUNET_free (payload); 287 GNUNET_free (payload);
286 timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); 288 timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS);
287 if (num_sent >= BURST_PACKETS)
288 return;
289 active_task = GNUNET_SCHEDULER_add_now (&short_test,
290 NULL);
291} 289}
292 290
293 291
@@ -320,9 +318,7 @@ add_queue_cb (void *cls,
320 to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, 318 to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
321 &latency_timeout, 319 &latency_timeout,
322 NULL); 320 NULL);
323 GNUNET_assert (NULL == active_task); 321 short_test (NULL);
324 active_task = GNUNET_SCHEDULER_add_now (&short_test,
325 NULL);
326} 322}
327 323
328 324
@@ -398,8 +394,7 @@ incoming_message_cb (void *cls,
398 num_sent = 0; 394 num_sent = 0;
399 avg_latency = 0; 395 avg_latency = 0;
400 num_received = 0; 396 num_received = 0;
401 active_task = GNUNET_SCHEDULER_add_now (&long_test, 397 long_test (NULL);
402 NULL);
403 } 398 }
404 break; 399 break;
405 } 400 }
@@ -436,8 +431,7 @@ incoming_message_cb (void *cls,
436 num_received = 0; 431 num_received = 0;
437 num_sent = 0; 432 num_sent = 0;
438 avg_latency = 0; 433 avg_latency = 0;
439 active_task = GNUNET_SCHEDULER_add_now (&size_test, 434 size_test (NULL);
440 NULL);
441 } 435 }
442 break; 436 break;
443 } 437 }
@@ -462,8 +456,7 @@ incoming_message_cb (void *cls,
462 { 456 {
463 start_short = GNUNET_TIME_absolute_get (); 457 start_short = GNUNET_TIME_absolute_get ();
464 phase = TP_BURST_SHORT; 458 phase = TP_BURST_SHORT;
465 active_task = GNUNET_SCHEDULER_add_now (&short_test, 459 short_test (NULL);
466 NULL);
467 break; 460 break;
468 } 461 }
469 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 462 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -484,10 +477,9 @@ do_shutdown (void *cls)
484 GNUNET_SCHEDULER_cancel (to_task); 477 GNUNET_SCHEDULER_cancel (to_task);
485 to_task = NULL; 478 to_task = NULL;
486 } 479 }
487 if (NULL != active_task) 480 for (unsigned int i = 0; i < NUM_PEERS; i++)
488 { 481 {
489 GNUNET_SCHEDULER_cancel (active_task); 482 GNUNET_TRANSPORT_TESTING_transport_communicator_service_stop (tc_hs[i]);
490 active_task = NULL;
491 } 483 }
492} 484}
493 485