X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fats%2Ftest_ats_solver_alternative_after_delete_address.c;h=02a8b79c8bcb4787e98d2585bc079a6ebaa81a86;hb=056f559d916d785164f40e63ca56c153ea0e9ebe;hp=f68bff773887b11316cfdb8a874cae96171fe58e;hpb=d2eeb1730e19a523647a94d77295bf3c46fbf33e;p=oweals%2Fgnunet.git diff --git a/src/ats/test_ats_solver_alternative_after_delete_address.c b/src/ats/test_ats_solver_alternative_after_delete_address.c index f68bff773..02a8b79c8 100644 --- a/src/ats/test_ats_solver_alternative_after_delete_address.c +++ b/src/ats/test_ats_solver_alternative_after_delete_address.c @@ -149,11 +149,23 @@ end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { + die_task = GNUNET_SCHEDULER_NO_TASK; end ( NULL, NULL); ret = GNUNET_SYSERR; } +static void +end_badly_now () +{ + if (GNUNET_SCHEDULER_NO_TASK != die_task) + { + GNUNET_SCHEDULER_cancel (die_task); + die_task = GNUNET_SCHEDULER_NO_TASK; + } + GNUNET_SCHEDULER_add_now (&end_badly, NULL); +} + static void address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, struct Session *session, @@ -172,14 +184,14 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, if ((NULL == address) || (NULL != session)) { GNUNET_break (0); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); + end_badly_now (); return; } if ((ntohl(bandwidth_in.value__) == 0) || (ntohl(bandwidth_out.value__) == 0)) { GNUNET_break (0); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); + end_badly_now (); return; } @@ -210,14 +222,14 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, if ((NULL == address) || (NULL != session)) { GNUNET_break (0); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); + end_badly_now (); return; } if ((ntohl(bandwidth_in.value__) == 0) || (ntohl(bandwidth_out.value__) == 0)) { GNUNET_break (0); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); + end_badly_now (); return; } @@ -227,7 +239,7 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Deleted 1st address for peer `%s' was suggested after deletion: `%s' `%s'\n", GNUNET_i2s (&address->peer), (char *) address->address, first_suggestion->address); GNUNET_break (0); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); + end_badly_now (); return; } @@ -250,13 +262,13 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, if ((ntohl(bandwidth_in.value__) == 0) && (ntohl(bandwidth_out.value__) == 0)) { - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Done!\n"); + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "ATS tells me to disconnect\n"); GNUNET_SCHEDULER_add_now (&end, NULL); return; } else { - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Expected disconnect received address `%s' with bandwidth \n", + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Expected disconnect but received address `%s' with bandwidth \n", (char *) address->address); } } @@ -295,19 +307,12 @@ run (void *cls, const struct GNUNET_CONFIGURATION_Handle *mycfg, if (sched_ats == NULL) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not connect to ATS scheduling!\n"); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); + end_badly_now (); return; } /* Set up peer */ - if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0, &p.id.hashPubKey)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n"); - GNUNET_SCHEDULER_add_now (&end_badly, NULL); - return; - } - GNUNET_assert (0 == strcmp (PEERID0, GNUNET_i2s_full (&p.id))); - + memset (&p.id, '1', sizeof (p.id)); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n", GNUNET_i2s_full(&p.id));