From 66201bf9170b35e73ea08e9b955c1bff8b09dc67 Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Mon, 30 May 2016 18:45:57 +0200 Subject: [PATCH] invoking benchmark_run() after getting /keys from exchange. Still doesn't work with https --- src/benchmark/taler-exchange-benchmark | Bin 8756 -> 20440 bytes src/benchmark/taler-exchange-benchmark.c | 118 ++++++++++++++++++++++- 2 files changed, 113 insertions(+), 5 deletions(-) diff --git a/src/benchmark/taler-exchange-benchmark b/src/benchmark/taler-exchange-benchmark index 336d9fcca30f879c34a155f3c713c411e561e4ca..86cb33e398157b1423fab3b7f5ba921844e12929 100755 GIT binary patch literal 20440 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 Z1p>}%HXT)wYrHzY<=9*@RS9)|{{#L #include - +/** + * How many coins the benchmark should operate on + */ static unsigned int pool_size = 100000; +/** + * Context for running the #ctx's event loop. + */ +static struct GNUNET_CURL_RescheduleContext *rc; + +/** + * Benchmark's task + */ +struct GNUNET_SCHEDULER_Task *benchmark_task; + +/** + * Main execution context for the main loop of the exchange. + */ +static struct GNUNET_CURL_Context *ctx; + +/** + * Handle to access the exchange. + */ +static struct TALER_EXCHANGE_Handle *exchange; + /** * URI under which the exchange is reachable during the benchmark. */ -#define EXCHANGE_URI "http://localhost:8081/" +#define EXCHANGE_URI "http://localhost:8081" + +/** + * Run the main interpreter loop that performs exchange operations. + * + * @param cls contains the `struct InterpreterState` + */ +static void +benchmark_run (void *cls) +{ + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "benchmark_run() invoked\n"); +} + +/** + * Functions of this type are called to provide the retrieved signing and + * denomination keys of the exchange. No TALER_EXCHANGE_*() functions should be called + * in this callback. + * + * @param cls closure + * @param keys information about keys of the exchange + */ +static void +cert_cb (void *cls, + const struct TALER_EXCHANGE_Keys *keys) +{ + /* check that keys is OK */ +#define ERR(cond) do { if(!(cond)) break; GNUNET_break (0); GNUNET_SCHEDULER_shutdown(); return; } while (0) + ERR (NULL == keys); + ERR (0 == keys->num_sign_keys); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Read %u signing keys\n", + keys->num_sign_keys); + ERR (0 == keys->num_denom_keys); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Read %u denomination keys\n", + keys->num_denom_keys); +#undef ERR + + /* run actual tests via interpreter-loop */ + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Certificate callback invoked, invoking benchmark_run()\n"); + benchmark_task = GNUNET_SCHEDULER_add_now (&benchmark_run, + NULL); +} + +/** + * Function run when the test terminates (good or bad). + * Cleans up our state. + * + * @param cls the interpreter state. + */ +static void +do_shutdown (void *cls) +{ + if (NULL != exchange) + { + TALER_EXCHANGE_disconnect (exchange); + exchange = NULL; + } + if (NULL != ctx) + { + GNUNET_CURL_fini (ctx); + ctx = NULL; + } + if (NULL != rc) + { + GNUNET_CURL_gnunet_rc_destroy (rc); + rc = NULL; + } +} /** * Main function that will be run by the scheduler. @@ -43,6 +134,18 @@ static unsigned int pool_size = 100000; static void run (void *cls) { + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "running run()\n"); + ctx = GNUNET_CURL_init (&GNUNET_CURL_gnunet_scheduler_reschedule, + &rc); + GNUNET_assert (NULL != ctx); + rc = GNUNET_CURL_gnunet_rc_create (ctx); + exchange = TALER_EXCHANGE_connect (ctx, + EXCHANGE_URI, + &cert_cb, NULL, + TALER_EXCHANGE_OPTION_END); + GNUNET_assert (NULL != exchange); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "connected to exchange\n"); + GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); } int @@ -50,17 +153,22 @@ main (int argc, char * const *argv) { /** - * 1 Pool's size as an option - * 2 Connection to the exchange + * 1 Pool's size as an option: DONE + * 2 Connection to the exchange: DONE, NOT TESTED * 3 Allocation of large enough memory * 4 Withdraw */ - + GNUNET_log_setup ("taler-exchange-benchmark", + "WARNING", + NULL); const struct GNUNET_GETOPT_CommandLineOption options[] = { {'s', "pool-size", NULL, "How many coins this benchmark should instantiate", GNUNET_YES, &GNUNET_GETOPT_set_uint, &pool_size} }; + GNUNET_assert (GNUNET_SYSERR != + GNUNET_GETOPT_run ("taler-exchange-benchmark", + options, argc, argv)); GNUNET_SCHEDULER_run (&run, NULL); }