From: Matthias Wachs Date: Tue, 13 Sep 2011 08:15:04 +0000 (+0000) Subject: no hard fail in case out transmit_ready timeout instead shut peers correctly down X-Git-Tag: initial-import-from-subversion-38251~17169 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=983b7b09169634e585949bf4d5e09336cbf76afc;p=oweals%2Fgnunet.git no hard fail in case out transmit_ready timeout instead shut peers correctly down --- diff --git a/src/transport/test_transport_api.c b/src/transport/test_transport_api.c index 92f1b9c95..ba7dc7cc1 100644 --- a/src/transport/test_transport_api.c +++ b/src/transport/test_transport_api.c @@ -46,7 +46,7 @@ /** * How long until we give up on transmitting the message? */ -#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 300) +#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 120) /** * How long until we give up on transmitting the message? @@ -164,6 +164,17 @@ notify_ready (void *cls, size_t size, void *buf) th = NULL; + if (buf == NULL) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Timeout occurred while waiting for transmit_ready\n"); + if (GNUNET_SCHEDULER_NO_TASK != die_task) + GNUNET_SCHEDULER_cancel (die_task); + die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); + ok = 42; + return 0; + } + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Transmitting message with %u bytes to peer %s\n", sizeof (struct GNUNET_MessageHeader), GNUNET_i2s (&p->id)); @@ -204,8 +215,9 @@ sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) return; - th = GNUNET_TRANSPORT_notify_transmit_ready (p1->th, &p2->id, 256, 0, TIMEOUT, - ¬ify_ready, &p1); + th = GNUNET_TRANSPORT_notify_transmit_ready (p1->th, &p2->id, 256, 0, + TIMEOUT_TRANSMIT, ¬ify_ready, + &p1); } static void diff --git a/src/transport/test_transport_api_reliability.c b/src/transport/test_transport_api_reliability.c index 7b7d9eac4..18971a986 100644 --- a/src/transport/test_transport_api_reliability.c +++ b/src/transport/test_transport_api_reliability.c @@ -44,10 +44,16 @@ #define START_ARM GNUNET_YES +/** + * Testcase timeout + */ +#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 60) + /** * How long until we give up on transmitting the message? */ -#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 900) +#define TIMEOUT_TRANSMIT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) + static char *test_source; @@ -251,13 +257,18 @@ notify_ready (void *cls, size_t size, void *buf) unsigned int s; unsigned int ret; + th = NULL; if (buf == NULL) { - GNUNET_break (0); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Timeout occurred while waiting for transmit_ready\n"); + if (GNUNET_SCHEDULER_NO_TASK != die_task) + GNUNET_SCHEDULER_cancel (die_task); + die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); ok = 42; return 0; } - th = NULL; + ret = 0; s = get_size (n); GNUNET_assert (size >= s); @@ -290,8 +301,8 @@ notify_ready (void *cls, size_t size, void *buf) { if (th == NULL) th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0, - TIMEOUT, ¬ify_ready, - NULL); + TIMEOUT_TRANSMIT, + ¬ify_ready, NULL); msg_scheduled = n; } if (n % 5000 == 0) @@ -348,7 +359,8 @@ sendtask () { start_time = GNUNET_TIME_absolute_get (); th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, get_size (0), 0, - TIMEOUT, ¬ify_ready, NULL); + TIMEOUT_TRANSMIT, ¬ify_ready, + NULL); } static void diff --git a/src/transport/test_transport_api_unreliability.c b/src/transport/test_transport_api_unreliability.c index 13a765c72..aa84b8519 100644 --- a/src/transport/test_transport_api_unreliability.c +++ b/src/transport/test_transport_api_unreliability.c @@ -45,10 +45,15 @@ #define START_ARM GNUNET_YES +/** + * Testcase timeout + */ +#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 60) + /** * How long until we give up on transmitting the message? */ -#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 900) +#define TIMEOUT_TRANSMIT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) static char *test_source; @@ -315,7 +320,11 @@ notify_ready (void *cls, size_t size, void *buf) if (buf == NULL) { - GNUNET_break (0); + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Timeout occurred while waiting for transmit_ready\n"); + if (GNUNET_SCHEDULER_NO_TASK != die_task) + GNUNET_SCHEDULER_cancel (die_task); + die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); ok = 42; return 0; } @@ -350,7 +359,8 @@ notify_ready (void *cls, size_t size, void *buf) while (size - ret >= s); if (n < TOTAL_MSGS) { - th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0, TIMEOUT, + th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0, + TIMEOUT_TRANSMIT, ¬ify_ready, NULL); msg_scheduled = n; } @@ -412,7 +422,8 @@ sendtask () { start_time = GNUNET_TIME_absolute_get (); th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, get_size (0), 0, - TIMEOUT, ¬ify_ready, NULL); + TIMEOUT_TRANSMIT, ¬ify_ready, + NULL); } static void