-static void
-main_run (void *cls, struct GNUNET_TESTBED_RunHandle *h,
- unsigned int num_peers, struct GNUNET_TESTBED_Peer **peers_,
- unsigned int links_succeeded, unsigned int links_failed)
-{
- int c_m;
- int c_s;
- GNUNET_assert(NULL == cls);
- GNUNET_assert(num_masters + num_slaves == num_peers);
- GNUNET_assert(NULL != peers_);
-
- GNUNET_log(GNUNET_ERROR_TYPE_INFO,
- _("Benchmarking solver `%s' on preference `%s' with %u master and %u slave peers\n"),
- solver, pref_str, num_masters, num_slaves);
-
- shutdown_task = GNUNET_SCHEDULER_add_delayed (
- GNUNET_TIME_relative_multiply (TEST_TIMEOUT,
- num_masters + num_slaves), &do_shutdown, NULL );
-
- /* Setup master peers */
- for (c_m = 0; c_m < num_masters; c_m++)
- {
- GNUNET_assert(NULL != peers_[c_m]);
- mps[c_m].peer = peers_[c_m];
- mps[c_m].no = c_m;
- mps[c_m].master = GNUNET_YES;
- mps[c_m].partners = GNUNET_malloc (num_slaves * sizeof (struct BenchmarkPeer));
- /* Initialize partners */
- for (c_s = 0; c_s < num_slaves; c_s++)
- {
- mps[c_m].partners[c_s].me = &mps[c_m];
- mps[c_m].partners[c_s].dest = &sps[c_s];
- }
- mps[c_m].peer_id_op = GNUNET_TESTBED_peer_get_information (
- mps[c_m].peer, GNUNET_TESTBED_PIT_IDENTITY,
- &peerinformation_cb,
- &mps[c_m]);
- }
-
- /* Setup slave peers */
- for (c_s = 0; c_s < num_slaves; c_s++)
- {
- GNUNET_assert(NULL != peers_[c_s + num_masters]);
- sps[c_s].peer = peers_[c_s + num_masters];
- sps[c_s].no = c_s + num_masters;
- sps[c_s].master = GNUNET_NO;
- sps[c_s].partners = GNUNET_malloc (num_masters * sizeof (struct BenchmarkPeer));
- /* Initialize partners */
- for (c_m = 0; c_m < num_masters; c_m++)
- {
- sps[c_s].partners[c_m].me = &sps[c_s];
- sps[c_s].partners[c_m].dest = &mps[c_m];
- }
- sps[c_s].peer_id_op = GNUNET_TESTBED_peer_get_information (
- sps[c_s].peer, GNUNET_TESTBED_PIT_IDENTITY,
- &peerinformation_cb,
- &sps[c_s]);
- }
-}
-