diff options
author | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2019-12-26 02:21:17 +0900 |
---|---|---|
committer | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2019-12-26 02:21:17 +0900 |
commit | c1cf4ec20a9a3f5e804e83986dbdb8b8a0bb9ce5 (patch) | |
tree | 384eb2d9f28d9a425728dab1644a398aba83b933 /src/transport/test_communicator_basic.c | |
parent | 025568d66f1b4bf4007d8effdd73e3f36f26f78b (diff) | |
parent | 1a4bd09e63df2300845fcb9bfa150f28943b9aea (diff) | |
download | gnunet-c1cf4ec20a9a3f5e804e83986dbdb8b8a0bb9ce5.tar.gz gnunet-c1cf4ec20a9a3f5e804e83986dbdb8b8a0bb9ce5.zip |
merge
Diffstat (limited to 'src/transport/test_communicator_basic.c')
-rw-r--r-- | src/transport/test_communicator_basic.c | 57 |
1 files changed, 21 insertions, 36 deletions
diff --git a/src/transport/test_communicator_basic.c b/src/transport/test_communicator_basic.c index 4dba9d50c..db396ba66 100644 --- a/src/transport/test_communicator_basic.c +++ b/src/transport/test_communicator_basic.c | |||
@@ -64,6 +64,8 @@ static struct GNUNET_TIME_Absolute start_short; | |||
64 | 64 | ||
65 | static struct GNUNET_TIME_Absolute start_long; | 65 | static struct GNUNET_TIME_Absolute start_long; |
66 | 66 | ||
67 | static struct GNUNET_TIME_Absolute timeout; | ||
68 | |||
67 | static struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *my_tc; | 69 | static struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *my_tc; |
68 | 70 | ||
69 | #define SHORT_MESSAGE_SIZE 128 | 71 | #define SHORT_MESSAGE_SIZE 128 |
@@ -74,7 +76,7 @@ static struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *my_tc; | |||
74 | 76 | ||
75 | #define FIXME_DEAD_BURST_RUNS 1 | 77 | #define FIXME_DEAD_BURST_RUNS 1 |
76 | 78 | ||
77 | #define TOTAL_ITERATIONS 10 | 79 | #define TOTAL_ITERATIONS 20 |
78 | 80 | ||
79 | static unsigned int iterations_left = TOTAL_ITERATIONS; | 81 | static unsigned int iterations_left = TOTAL_ITERATIONS; |
80 | 82 | ||
@@ -196,6 +198,14 @@ static void | |||
196 | latency_timeout (void *cls) | 198 | latency_timeout (void *cls) |
197 | { | 199 | { |
198 | to_task = NULL; | 200 | to_task = NULL; |
201 | if (GNUNET_TIME_absolute_get_remaining (timeout).rel_value_us > 0) | ||
202 | { | ||
203 | to_task = GNUNET_SCHEDULER_add_at (timeout, | ||
204 | &latency_timeout, | ||
205 | NULL); | ||
206 | return; | ||
207 | } | ||
208 | |||
199 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 209 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
200 | "Latency too high. Test failed. (Phase: %d. Sent: %lu, Received: %lu)\n", | 210 | "Latency too high. Test failed. (Phase: %d. Sent: %lu, Received: %lu)\n", |
201 | phase, num_sent, num_received); | 211 | phase, num_sent, num_received); |
@@ -220,10 +230,7 @@ size_test (void *cls) | |||
220 | GNUNET_free (payload); | 230 | GNUNET_free (payload); |
221 | ack += 5; | 231 | ack += 5; |
222 | num_sent++; | 232 | num_sent++; |
223 | if (NULL == to_task) | 233 | timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); |
224 | to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | ||
225 | &latency_timeout, | ||
226 | NULL); | ||
227 | if (ack < 64000) | 234 | if (ack < 64000) |
228 | active_task = GNUNET_SCHEDULER_add_now (&size_test, | 235 | active_task = GNUNET_SCHEDULER_add_now (&size_test, |
229 | NULL); | 236 | NULL); |
@@ -242,10 +249,7 @@ long_test (void *cls) | |||
242 | LONG_MESSAGE_SIZE); | 249 | LONG_MESSAGE_SIZE); |
243 | num_sent++; | 250 | num_sent++; |
244 | GNUNET_free (payload); | 251 | GNUNET_free (payload); |
245 | if (NULL == to_task) | 252 | timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); |
246 | to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | ||
247 | &latency_timeout, | ||
248 | NULL); | ||
249 | if (num_sent == BURST_PACKETS) | 253 | if (num_sent == BURST_PACKETS) |
250 | return; | 254 | return; |
251 | active_task = GNUNET_SCHEDULER_add_now (&long_test, | 255 | active_task = GNUNET_SCHEDULER_add_now (&long_test, |
@@ -265,10 +269,7 @@ short_test (void *cls) | |||
265 | SHORT_MESSAGE_SIZE); | 269 | SHORT_MESSAGE_SIZE); |
266 | num_sent++; | 270 | num_sent++; |
267 | GNUNET_free (payload); | 271 | GNUNET_free (payload); |
268 | if (NULL == to_task) | 272 | timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); |
269 | to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | ||
270 | &latency_timeout, | ||
271 | NULL); | ||
272 | if (num_sent >= BURST_PACKETS) | 273 | if (num_sent >= BURST_PACKETS) |
273 | return; | 274 | return; |
274 | active_task = GNUNET_SCHEDULER_add_now (&short_test, | 275 | active_task = GNUNET_SCHEDULER_add_now (&short_test, |
@@ -300,6 +301,11 @@ add_queue_cb (void *cls, | |||
300 | start_short = GNUNET_TIME_absolute_get (); | 301 | start_short = GNUNET_TIME_absolute_get (); |
301 | my_tc = tc_queue; | 302 | my_tc = tc_queue; |
302 | phase = TP_BURST_SHORT; | 303 | phase = TP_BURST_SHORT; |
304 | timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); | ||
305 | GNUNET_assert (NULL == to_task); | ||
306 | to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | ||
307 | &latency_timeout, | ||
308 | NULL); | ||
303 | GNUNET_assert (NULL == active_task); | 309 | GNUNET_assert (NULL == active_task); |
304 | active_task = GNUNET_SCHEDULER_add_now (&short_test, | 310 | active_task = GNUNET_SCHEDULER_add_now (&short_test, |
305 | NULL); | 311 | NULL); |
@@ -347,6 +353,8 @@ incoming_message_cb (void *cls, | |||
347 | "unexpected receiver...\n"); | 353 | "unexpected receiver...\n"); |
348 | return; | 354 | return; |
349 | } | 355 | } |
356 | /* Reset timeout */ | ||
357 | timeout = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_SECONDS); | ||
350 | switch (phase) | 358 | switch (phase) |
351 | { | 359 | { |
352 | case TP_BURST_SHORT: | 360 | case TP_BURST_SHORT: |
@@ -374,11 +382,6 @@ incoming_message_cb (void *cls, | |||
374 | num_sent = 0; | 382 | num_sent = 0; |
375 | avg_latency = 0; | 383 | avg_latency = 0; |
376 | num_received = 0; | 384 | num_received = 0; |
377 | if (NULL != to_task) | ||
378 | { | ||
379 | GNUNET_SCHEDULER_cancel (to_task); | ||
380 | to_task = NULL; | ||
381 | } | ||
382 | active_task = GNUNET_SCHEDULER_add_now (&long_test, | 385 | active_task = GNUNET_SCHEDULER_add_now (&long_test, |
383 | NULL); | 386 | NULL); |
384 | } | 387 | } |
@@ -414,11 +417,6 @@ incoming_message_cb (void *cls, | |||
414 | num_received = 0; | 417 | num_received = 0; |
415 | num_sent = 0; | 418 | num_sent = 0; |
416 | avg_latency = 0; | 419 | avg_latency = 0; |
417 | if (NULL != to_task) | ||
418 | { | ||
419 | GNUNET_SCHEDULER_cancel (to_task); | ||
420 | to_task = NULL; | ||
421 | } | ||
422 | active_task = GNUNET_SCHEDULER_add_now (&size_test, | 420 | active_task = GNUNET_SCHEDULER_add_now (&size_test, |
423 | NULL); | 421 | NULL); |
424 | } | 422 | } |
@@ -440,11 +438,6 @@ incoming_message_cb (void *cls, | |||
440 | num_received = 0; | 438 | num_received = 0; |
441 | num_sent = 0; | 439 | num_sent = 0; |
442 | avg_latency = 0; | 440 | avg_latency = 0; |
443 | if (NULL != to_task) | ||
444 | { | ||
445 | GNUNET_SCHEDULER_cancel (to_task); | ||
446 | to_task = NULL; | ||
447 | } | ||
448 | iterations_left--; | 441 | iterations_left--; |
449 | if (0 != iterations_left) | 442 | if (0 != iterations_left) |
450 | { | 443 | { |
@@ -460,14 +453,6 @@ incoming_message_cb (void *cls, | |||
460 | break; | 453 | break; |
461 | } | 454 | } |
462 | } | 455 | } |
463 | /* Reset timeout */ | ||
464 | if (NULL != to_task) | ||
465 | { | ||
466 | GNUNET_SCHEDULER_cancel (to_task); | ||
467 | to_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | ||
468 | &latency_timeout, | ||
469 | NULL); | ||
470 | } | ||
471 | } | 456 | } |
472 | 457 | ||
473 | 458 | ||